1

Zed Shaw のLearn Python the Hard Wayを使用しています。

演習 11 では、コードはEOF2 行目でエラーを生成します。コードは次のとおりです。

1  print "How old are you?",
2  age = raw_input()
3  print "How tall are you?",
4  height = raw_input()
5  print "How much do you weigh?",
6  weight = raw_input()
7  print "So, you're %r old, %r tall and %r heavy." % (
       age, height, weight)

StackOverflow、Google、および Hacker News フォーラムを検索しました。(a)この問題を解決し、(b)理解できる答えは見つかりませんでした。

私は ideone.com で python コンパイラを使用しています (他の 2 つのオンライン コンパイラも試しましたが、どちらも機能しませんでした)。

(これを読んでも適用できませんでした: raw_input() の Python EOF エラー)。

4

1 に答える 1

4

問題は、オンライン通訳者は通常、ユーザーが入力できるように一時停止しないことです。stdin代わりに、データの読み取り元として固定の「ファイル」を使用します。指定しないと空になるため、(空の) ファイルは既に使い果たされているため、入力を求めると EOF になります。

ただし、入力データを指定することは可能です。ideone では、stdinボタンをクリックして一度にデータを入力する必要があります。例えば:

old
tall
weight

次に、スクリプトが実行されます

しかし、Python を自分でダウンロードして、通常のインタープリターを使用してコマンド ラインで実行することを検討する必要があります。そうすれば、実際にある程度のインタラクティブ性が得られます。

于 2014-04-15T09:30:50.340 に答える