如何生成if-else循环?

时间:2016-01-24 20:06:34

标签: python if-statement

第一篇文章;编程新手;蟒蛇。我正在尝试做以下事情并遇到一些麻烦:如果有人回答是,那么继续问题,这是一个功能。如果有人回答否,则打印“请让病人”并重新运行问题。非常感谢任何帮助!

无论答案是“是”还是“否”,它都会进入问题()。我尝试使用“其他”但没有成功,“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.")

1 个答案:

答案 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.")