获取用户输入后,打印shopping_list会给出所有输入,但是我的for循环功能只返回第一个输入。有谁知道为什么for循环没有返回列表中的所有输入项?
shopping_list = []
a = input("This is shopping bot. Tell me one thing you want to buy: ")
b = input("And then... ")
def g():
for i in shopping_list:
return (i)
shopping_list.extend(a,b)
print(shopping_list)
print("Here's your shopping list : \n",g())
答案 0 :(得分:1)
您使用return
退出函数并返回项i
,因此您的循环在第一次迭代期间退出。
我不确定你想要实现什么,所以我不能推荐任何东西
答案 1 :(得分:1)
函数调用在遇到return
语句后终止。发生这种情况的原因是因为在for
循环中您正在使用return
语句。它将在返回第一个元素后退出。如果您反转列表并将其用作函数的输入,则您将获得原始列表的最后一个元素。
答案 2 :(得分:0)
更好地解决这个问题的方法是这样的:
shopping_list = input("This is shopping bot. List things you want to buy: ").split(',')
print("Here's your shopping list: \n", '\n'.join(shopping_list))
这样用户可以输入n
元素。