首页 > 解决方案 > 购物清单将“退出”字母添加到列表中,而不是打破 while 循环并退出程序

问题描述

我一直试图让这个退出功能工作,如果我输入一个小写的“q”,它就没有问题。但是当我输入大写“Q”时,它会被添加到列表中,而不是打破循环。我不明白为什么它不起作用。任何帮助表示赞赏。

shopping_list = []
quit_list = 'q'
print("Shopping list")
print("When done, press 'q'")

while True:
item = input("Enter item:")  # User input item
if item == quit_list.casefold():
    break

if item in shopping_list:  # Remove item by typing same item.
    shopping_list.remove(item)
    print(shopping_list)
else:
    shopping_list.append(item)  # Add item to list
    print("{} added to list.".format(item))
    print(shopping_list)

打印(购物清单)

标签: pythonpython-3.x

解决方案


shopping_list = []
quit_list = 'q'
print("Shopping list")
print("When done, press 'q'")

while True:
    item = input("Enter item:")  # User input item
    if item.casefold() == quit_list:
        break

    if item in shopping_list:  # Remove item by typing same item.
        shopping_list.remove(item)
        print(shopping_list)
    else:
        shopping_list.append(item)  # Add item to list
        print("{} added to list.".format(item))
        print(shopping_list)
print(shopping_list)

你想让项目小写,而不是quit_list。


推荐阅读