Python 3.7:为什么只打印列表中的最后一项?
Python 3.7 : Why is only the last item in a list printing?
我正在自学《Python速成班》第2版,遇到一个我无法解决的问题。我重读了本书的前几部分,搜索了互联网并搜索了其他 SO 答案。
官方书的答案用的是字典,我想用的是列表。
程序应该要求输入,将输入添加到列表中并继续重复直到被告知停止。当被告知停止时,应该打印整个列表。
我 运行 遇到的问题是只有列表中的最后一项在打印。
与其给出答案,不如给我一个提示,让我真正学习。
谢谢,
查德里克
active = True
while active == True:
places = []
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False
原因是因为您在每次迭代时都将列表重置为空。
尝试以下操作:
active = True
places = []
while active == True:
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False
此外,由于 active
是一个布尔值,您只需要执行 while active:
所以:
active = True
places = []
while active:
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False
我正在自学《Python速成班》第2版,遇到一个我无法解决的问题。我重读了本书的前几部分,搜索了互联网并搜索了其他 SO 答案。
官方书的答案用的是字典,我想用的是列表。
程序应该要求输入,将输入添加到列表中并继续重复直到被告知停止。当被告知停止时,应该打印整个列表。
我 运行 遇到的问题是只有列表中的最后一项在打印。
与其给出答案,不如给我一个提示,让我真正学习。
谢谢,
查德里克
active = True
while active == True:
places = []
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False
原因是因为您在每次迭代时都将列表重置为空。
尝试以下操作:
active = True
places = []
while active == True:
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False
此外,由于 active
是一个布尔值,您只需要执行 while active:
所以:
active = True
places = []
while active:
place = input("\nIf you could visit one place in the world, where would you go? ")
places.append(place)
repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
print(places)
active = False