0

经过大量的谷歌搜索和笔记搜索,我还没有找到让我的这份清单工作的答案,如果你回答了,你能解释一下我做错了什么,因为这个问题决定不让我工作。代码:

def main():

    x = int(input("Enter a number (0 to stop) "))
    y = x
    l = []

    while x != 0:
        x = int(input("Enter a number (0 to stop) "))
        l = [x]
    print(l[x])   

main()

我以为我应该在循环之外初始化列表,并且在循环中我认为它会接受输入的任何 X 并将其存储以便稍后在它之后打印出来,但事实并非如此。任何指针?

4

1 回答 1

0

您每次都需要附加到列表中:

def main():
    x = int(input("Enter a number (0 to stop) "))
    l = [x] # add first x, we  will add to the is list  not reassign l inside the loop
    while x != 0:
        x = int(input("Enter a number (0 to stop) "))
        l.append(x) # append each time 
    print(l) # print all when user enters 0

l = [x]每次通过循环重新分配l给一个包含任何值的列表,以获取您必须附加到在循环外初始化的列表 l 的所有数字。x

您还可以使用iter标记值“0”:

def main():
    l  = []
    print("Enter a number (0 to stop) ")
    for x in iter(input,"0"):
        print("Enter a number (0 to stop) ")
        l.append(int(x))
    print(l)
于 2014-11-10T00:23:08.663 回答