2017-02-06 9 views
1

だから、私はlist: list = [],を計算する方法を知っていますが、ユーザに乱数を入力してもらいたいです。リットルist = input ("Please enter number: ", []),しかし、正しくありませんようだ:ユーザーは、それが終了し、0を入力しPython:空のリストに数字を入力するようにユーザーに促す方法は?

list is : [number1, number2, number3, ..., 0]. 

を意味している場合しかし、私が書き込もうとしました。

答えて

2

ユーザーがあなたのinput行を複製したくない場合は、あなたが使用することができ、また0

# Don't call this 'list', it's a reserved keyword in python 
lst = [] 

user_input = int(input("Please enter a number: ")) 

while user_input != 0: 
    lst.append(user_input) 

    user_input = int(input("Please enter a number: ")) 

print("You said: " + lst) 

に入るまで、あなたは行くのプログラムを維持するためにwhileループを使用したいと思います代わりに破る:

lst = [] 

while True: 
    user_input = int(input("Please enter a number: ")) 

    if user_input == 0: 
    break 

    lst.append(user_input) 

print("You said: " + lst) 
+0

をそれはそれ以外の場合はと思い、それは組み込みの 'list'タイプが、' list' _isn't_予約語を​​シャドウので、変数名として 'list'を使用することを確かに悪い考えですそれを変数名として使用するには、SyntaxErrorにしてください。たとえば、「for = 4」を試してやるとどうなりますか。 –

+0

私は知っている、Pythonは予約語の概念を持っていません。しかし、文字通り*予約されていなくても、彼らは本当にそのように扱われるべきです。特に始まったばかりの人にとっては、あなたの変数や関数に構文的な名前を使い始めると、診断が不可能な、本当に面白いエラーが発生します。 – user2896976

+0

for、while、defなどは予約されています。しかし、はい、あなたが別のものに再バインドした型名を使用しようとすると、エラーメッセージが混乱することがあります。 –

関連する問題