use*_*453 1 python boolean input python-3.x
我正在尝试让用户输入他们是否喜欢辛辣食物,并且输出应该是布尔值,但是我的以下代码似乎没有输出:
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)
Run Code Online (Sandbox Code Playgroud)
小智 11
把事情简单化:
isSure = input('Are you sure? (y/n): ').lower().strip() == 'y'
Run Code Online (Sandbox Code Playgroud)
bool;True仅当它包含y并且可能包含一些空格时;False;尝试将您的输入转换为bool那样无法正常工作。Python考虑任何非空字符串True。因此,做事bool(input())与做事基本相同input() != ''。即使输入不是,两者都返回true "True"。只是比较直接给出字符串输入"True和"False":
def likes_spicyfood():
spicyfood = input("Do you like spicy food? True or False?")
if spicyfood == "True":
return True
if spicyfood == "False":
return False
Run Code Online (Sandbox Code Playgroud)
请注意,None如果输入不是"Trueor ,则上面的代码将失败(通过返回而不是布尔值)"False"。如果原始输入无效(即不是或),请考虑返回默认值或重新询问用户输入。"True"False"
| 归档时间: |
|
| 查看次数: |
13599 次 |
| 最近记录: |