2

初めて Python プログラムを作成しようとしましたが、既にエラー メッセージが表示されます。Pythonを使用したコンピューターサイエンスの教科書の紹介で、次のコードを見つけました:

name = input('What is your name? ')
print('Hello', name)
print('Welcome to Python!')

エラーがないか何度も確認しましたが、教科書の状態とまったく同じように入力したと確信しています。プログラムを MyFirstProgram.py として保存し、その後モジュールを実行しました (F5 キーを押して)。私が正しく理解している場合、プログラムは名前を入力するように求めます。だから私は「ジョン」と入力しました。しかし、私がやったとき、次のエラーが発生します:

Traceback (most recent call last):
  File "C:/Users/Wout/.ipython/MyFirstProgram.py", line 3, in <module>
    name = input('What is your name? ')
  File "<string>", line 1, in <module>
NameError: name 'John' is not defined

「ジョン」が定義されていないのはなぜですか? 任意の名前を入力することがプログラムの目的ではないでしょうか。なぜ定義する必要があるのですか?手紙の指示に従った...

敬具

4

4 に答える 4

2

input、Python 2 では、入力を Python コードのスニペットであるかのように評価します。これはほとんどあなたが望むものではありません。raw_input代わりに使用してください。

ところで、Python 3 のようにコードを書いていますが、Python 2 インタープリターを使用しているようです。コードを Python 3 で実行すると、問題なく動作します ( inputPython 3 は Python 2 と同じraw_inputです)。

于 2013-09-30T17:41:30.523 に答える
1

Python-2.x を使用しているため、の代わりにraw_input()を使用する必要があります。input()

name = raw_input('What is your name? ')
print('Hello', name)
print('Welcome to Python!')

プリント:

What is your name? John
('Hello', 'John')
Welcome to Python!
于 2013-09-30T17:41:45.237 に答える
0

'John'で動作しますinput(動作しJohnません)がraw_input()、他の人が言ったように使用する必要があります

于 2013-09-30T17:46:45.653 に答える
0

Python 3 の教科書に従っていますが、Python 2 を使用しています。Python 2 では、 raw_inputprint ステートメントで括弧を使用する必要があり、必要ありません。

于 2013-09-30T17:42:25.590 に答える