为什么我的if语句在while循环中不起作用?

时间:2019-12-24 20:35:41

标签: python python-3.x

因此,我设置了代码,如果输入的内容不是yes或no print(“键入Yes或No”),但即使我键入yes或no,则仍在打印消息。

mylist = []
are_you_done = "no"
while are_you_done != "yes":
    grocery_item = input("Add to Grocery ")
    are_you_done = input("Are you done? ").lower()
    mylist.append(grocery_item)
    if are_you_done != "yes" or are_you_done != "no":
        print("Type Yes or No")
        are_you_done = input("Are you done? ").lower()



for item in mylist:
    print(item)

2 个答案:

答案 0 :(得分:1)

if are_you_done != "yes" or are_you_done != "no":

此条件始终为真。字符串不能同时等于“ yes”和“ no”,因此始终至少等于其中之一。

你是说

if are_you_done != "yes" and are_you_done != "no":

if are_you_done not in {"yes", "no"}:

答案 1 :(得分:0)

如果if语句中有两个条件,并且其中一个为true,则将打印问题。换句话说,要打印的问题,则必须为真。换句话说,要跳过的问题,are_you_done中的值必须同时 yesno