第一篇文章;编程新手;蟒蛇。我正在尝试做以下事情并遇到一些麻烦:如果有人回答是,那么继续问题,这是一个功能。如果有人回答否,则打印“请让病人”并重新运行问题。非常感谢任何帮助!
无论答案是“是”还是“否”,它都会进入问题()。我尝试使用“其他”但没有成功,“elif”也没有成功。
patient = input("The following are questions are intended for the patient. Are you the patient? (Yes or No)")
if patient == 'yes' or 'Yes' or 'y':
questions()
elif patient != 'yes' or 'Yes' or 'y':
print ("Please get the patient.")
答案 0 :(得分:1)
您使用错误的语法来测试字符串,以查看它是否与其他多个字符串匹配。在第一次测试中,您有:
if patient == 'yes' or 'Yes' or 'y':
您可以将其更改为:
if patient == 'yes' or patient == 'Yes' or patient == 'y':
或者,更简洁地说,您可以使用:
if patient in ('yes', 'Yes', 'y'):
对于elif
部分,您无需重复相反的比较。只需将整个elif
行替换为:
else:
如果你想把整个事情放在成功调用questions
后退出的循环中,你可以使用:
while True:
patient = input("The following are questions are intended for the patient. Are you the patient? (Yes or No)")
if patient in ('yes', 'Yes', 'y'):
questions()
break
else:
print ("Please get the patient.")