Python 使用while循环将项目添加到列表
我创建了一个简单的程序,用户可以在其中向他们的购物清单中添加物品。添加项目后,会询问他们是否完成。如果他们键入“是”,列表上的项目将被打印,如果他们键入“否”,程序将退出,他们可以向列表中添加更多项目。问题是我只想选择是或否。如果用户写了其他内容,我希望打印出一条消息,说明您只能写“是”或“否”。我编写代码的方式是,当程序结束时,消息位于底部。我不知道放在哪里。我试图将其放入while循环中,但这与条件相矛盾Python 使用while循环将项目添加到列表,python,python-3.x,Python,Python 3.x,我创建了一个简单的程序,用户可以在其中向他们的购物清单中添加物品。添加项目后,会询问他们是否完成。如果他们键入“是”,列表上的项目将被打印,如果他们键入“否”,程序将退出,他们可以向列表中添加更多项目。问题是我只想选择是或否。如果用户写了其他内容,我希望打印出一条消息,说明您只能写“是”或“否”。我编写代码的方式是,当程序结束时,消息位于底部。我不知道放在哪里。我试图将其放入while循环中,但这与条件相矛盾 mylist = [] are_you_done = "no" while are_y
mylist = []
are_you_done = "no"
while are_you_done == "no":
grocery_item = input("Add to Grocery ")
are_you_done = input("Are you done? ")
mylist.append(grocery_item)
if are_you_done == "yes":
for item in mylist:
print(item)
else:
print("Please type Yes or No")
定义:
def ask_yes_no():
while True:
x = input()
if x == "yes":
return True
if x == "no":
return False
print("Expecting yes/no")
然后按以下方式使用询问\u yes\u no()
:
grocery_items = []
while True:
grocery_item = input("Add to Grocery ")
print("Are you done? ", end="")
if ask_yes_no():
break
grocery_items.append(grocery_item)
我们需要在while循环中检查输入条件是否得到了适当的满足。此外,我们应该标准化大写和小写的输入
mylist = []
are_you_done = "no"
while are_you_done == "no":
grocery_item = input("Add to Grocery ")
are_you_done = input("Are you done? ").lower()
if are_you_done not in ("no", "yes"):
print("Please type Yes or No")
are_you_done = "no"
else:
mylist.append(grocery_item)
for item in mylist:
print(item)
我相信这是你在问题中所说的。请注意,在答案为“是”或“否”之前,该程序一直处于内部循环中。请注意,在提问之前,我们会将杂货项目添加到列表中
#!/usr/bin/python3
mylist = []
are_you_done = "no"
while are_you_done == "no":
grocery_item = input("Add to Grocery ")
mylist.append(grocery_item)
while True:
are_you_done = input("Are you done? ")
if are_you_done in ['yes','no']:
break
else:
print( 'please answer with yes or no' )
for item in mylist:
print(item)
把它放进while循环是正确的。您需要更改您的条件,以便在用户输入“是”或“否”以外的内容时循环继续运行,并且在输入“是”之前不会退出。这会附加什么内容?@roganjosh这不是他们在说明中要求的吗?标题是“使用while循环将项目添加到列表”它们显示了附加到list@roganjosh大部分的描述都是这样的:“在添加一个项目后,会询问他们是否完成了。如果他们键入“是”,列表上的项目将被打印,如果他们键入“否”,程序将退出,他们可以向列表中添加更多项目。问题是我只想选择是或否。如果用户写了其他内容,我希望打印出一条消息,说您只能写“是”或“否”。如果您希望我回答标题,则它是
.append()
,尽管OP似乎已经在这样做了。此外,这个问题以重复的形式结束,答案与这个问题几乎相同。描述清楚地表明,他只想要“是”或“否”。1)mylist。append(杂货店项目)
需要在mylist之前。append(杂货店项目)
,2)如果你完成了!=“不”或者你完蛋了“是”
更好,因为如果您不在('no','yes')