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 に答える