Python将多个项添加到列表中

时间:2014-11-16 19:34:33

标签: python list python-3.x append

我必须编写一个程序,要求用户输入他们的购物清单,它应该要求他们输入他们列表的第一个项目,并在他们输入所有项目时输入“END”。

到目前为止,这是我的代码:

#Welcome
name = input("What is your name? ")
print("Welcome %s to your shopping list" %name)
#Adding to the list
shoppingList = []
shoppingList.append = input(print("Please enter the first item of your shopping list and type END when you have entered all of your items: "))
length = len(shoppingList)
#Output
print("Your shopping list is", length, "items long")
shoppingList.sort
print(shoppingList)

我不确定如何修复第二个添加到列表中,你能帮忙吗?感谢。

3 个答案:

答案 0 :(得分:1)

您正在分配append方法。您要做的是分配到实际列表:

shoppingList = [item for item in input(print("....")).split()][:-1]

[:-1]将删除END。或者你可以把它变成一个过滤器

shoppingList = [item for item in input(print("....")).split() if item != 'END']

答案 1 :(得分:0)

添加并查看End

shopingList = []
end =''
while end.lower() != 'end':
    item = input("Please enter the item of youi shopping list and type END when you have entered all of your items: ")
    shopingList.append(item)
    end = item

print

中不需要input声明

在上面的代码中,我正在检查用户是否输入end它将来自while循环 varible item将存储用户输入并将其附加到shopingList,end变量使用用户项更新,而end变量与字符串'end'进行比较

答案 2 :(得分:0)

Append是一个函数,所以你应该像这样调用它。

shoppingList.append("Bread")

但是,为了添加多个项目,您需要某种循环。

while True:
    new_item = input(print("Please enter an item of your shopping list and type END when you have entered all of your items: "))
    if new_item == "END": break
    shoppingList.append(new_item)

此循环将每个不是“END”的字符串附加到列表中。输入“END”时,循环结束。