否则在小程序中不生效

时间:2019-07-18 00:14:39

标签: python

我试图制作一个程序,将食物随机分配并输出随机菜肴。唯一的问题是,当它第一次询问您是否要菜时,无论响应如何,它都会返回菜。任何帮助表示赞赏。

print('Random Dinner Dish?')
response = input()
while True:

    if response == 'Yes' or 'yes' or 'Y' or 'y':
        print(dinner[random.randint(0,len(dinner) - 1)])
        break
    else:
        print('Goodbye')
        break

如果不使用某些形式的yes,我希望它可以打印再见并停止程序。

1 个答案:

答案 0 :(得分:0)

response == 'Yes' or 'yes' or 'Y' or 'y'的结果始终是真实的,因此else块是不可访问的。

您可能是想

if response in {'Yes', 'yes', 'Y', 'y'}:

or如果正确,将返回其左侧,否则返回其右侧。

所以False or 'yes'返回'yes'