我正在尝试让用户输入他们是否喜欢辛辣食物并且输出应该是布尔值但我似乎没有使用下面的代码获得输出:
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)
原文由 user5556453 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试将您的输入转换为
bool
不会那样工作。 Python 考虑 任何非空字符串True
。这样做bool(input())
input() != ''
相同。即使输入不是"True"
,两者都返回 true。只需比较直接给字符串的输入"True
和"False"
:请注意,如果输入不是
"True
或"False"
,则上述代码将失败(通过返回None
而不是布尔值)如果原始输入无效(即不是"True
或"False"
),请考虑返回默认值或 重新询问用户输入。