[英]Problem with appending element to list in while loop
該方法應該在列表(entryList)中收集用戶的數字輸入,直到用戶輸入'done'。 但是,條目列表變為空/ []
。
def entryReader():
while True:
entry = input('Enter a number: ')
entryList = []
if entry.lower() == "done":
print(entryList)
break
try:
number = float(entry)
entryList.append(number)
print(number)
except ValueError:
print("Please enter a numeric value.")
預期輸出: [input1, input2]
實際產量: []
您需要在主循環之外移動entryList聲明,以便每次循環運行時列表都不會變空
entryList = []
while True:
entry = input('Enter a number: ')
if entry.lower() == "done":
print(entryList)
break
try:
number = float(entry)
entryList.append(number)
print(number)
except ValueError:
print("Please enter a numeric value.")
在while循環中,在每次迭代中,您的entrylist []初始化。 所以它變得空洞。 因此,如果在進入while循環之前聲明entrylist [],那么在每次輸入后它都不會變空。 它將使用entrylist []附加新數字。
entryList = []
while True:
entry = input('Enter a number: ')
#entryList = [] // Becomes empty
if entry.lower() == "done":
print(entryList)
break
try:
number = float(entry)
entryList.append(number)
print(number)
except ValueError:
print("Please enter a numeric value.")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.