2016-10-28 2 views
-1

私がやることになっているもの: user_numが1未満非常に単純なPythonプログラミングエラー?

私のコードになるまで、2で割ったuser_numを出力whileループを書く:

user_num = 20 

while(user_num>=1): 
    print(user_num/2) 
    user_num = float(input()) 

エラー:

10.0 Traceback (most recent call last): File "main.py", line 5, in user_num = float(input()) EOFError: EOF when reading a line

+3

あなたのインデントを修正します – Julien

+1

これは何ですか? Python2またはPython3? (そして、ええ、あなたのくぼみを見てください) – BorrajaX

+0

崇高なテキストを使用していますか? – TigerhawkT3

答えて

1

(私はPython 3.5.2を使用しています)

あなたが入力を呼び出すにしたくない場合は、次の

user_num = 20 

while user_num>=1: 
    print(user_num/2) 
    user_num = user_num/2 

入力(ユーザーが1未満の数を入力すると、この場合、プロセスが停止する)の使用:

user_num = 20 

while user_num>=1: 
    print(user_num/2) 
    x=float(input()) 
    user_num = x 
+0

回答を投稿する際にコードを編集してください。 – Julien

+1

これはOPが探している動作であるかもしれないが(そうでないかもしれないが)、実際にはエラーに関する質問は解決されない。 – Julien

+0

私はあなたを理解していません。彼女は、user_numが1未満になるまでuser_numを2で割ったものを印刷しようとしています。正しい方法を示しています。 – leticia

0

を私はあなたのエラーを再現することができますこれにより、メッセージ($は、シェル・プロンプトを表します):

まずファイルを作成します空のファイルから

$ >gash.txt 

リダイレクトSTDIN

$ python gash.py < gash.txt 
10.0 
Traceback (most recent call last): 
    File "gash.py", line 5, in <module> 
    user_num = float(input()) 
EOFError: EOF when reading a line 

ので、入力ストリームが空であるため、このエラーを得ている理由があります。キーボードでEOFを押すと(多くのシステムではCtrl + D)、「行を読むときは」テキストが表示されません。

関連する問題