【发布时间】:2018-07-26 19:30:59
【问题描述】:
我正在尝试让用户输入他们是否喜欢辛辣食物,并且输出应该是布尔值,但我的代码似乎没有得到以下输出:
def likes_spicyfood():
spicyfood = bool(input("Do you like spicy food? True or False?"))
if spicyfood == ("True"):
print("True")
if spicyfood == ("False"):
print("False")
return(likes_spicyfood)
【问题讨论】:
-
提示:使用空输入进行测试。
-
好吧:1. 任何非空字符串输入都会评估真值;和 2. 都不布尔值等于字符串
"True"或"False"。该平等评估中的括号也是多余的。你可以跳过bool;"True" == "True". -
为什么要将用户输入转换为布尔值,然后将其与字符串进行比较?只是不要转换它。
-
在输入应该可以正常工作之前删除 bool 语句
-
另外,如果你想返回布尔值,你为什么要打印字符串('True')。而是使用 Return True
标签: python python-3.x input boolean