python - 购物清单将“退出”字母添加到列表中,而不是打破 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)
打印(购物清单)
解决方案
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。
推荐阅读
- c# - 如何使用 MVC C# 对 Microsoft 图形进行 REST Api 调用?
- google-cloud-dataflow - 云数据流教程出现错误“无法创建工作流作业:数据流 API 尚未...”
- python - 在 anaconda 中维护多个 python 版本
- firebase-dynamic-links - 使用 Firebase 动态链接 API 更新目标网址
- c# - New 和 Object 之间有什么不同以及它在堆栈和堆中的工作方式
- f# - 错误:阅读器关闭时调用 Read 的尝试无效?
- php - 如何区分数据库和日期时间的记录
- python - 验证损失增加
- r - 过滤整个组包含最小值
- javascript - 输入自动完成 - 隐藏项目直到输入值