ホームページ  >  記事  >  バックエンド開発  >  Python でユーザー入力を処理する際に「NameError: name 'name' が定義されていません」というメッセージが表示されるのはなぜですか?

Python でユーザー入力を処理する際に「NameError: name 'name' が定義されていません」というメッセージが表示されるのはなぜですか?

DDD
DDDオリジナル
2024-11-12 20:19:02250ブラウズ

Why Am I Getting a

エラー: Python でユーザー入力を処理中に「NameError: name 'name' が定義されていません」

Python でユーザー入力を処理するとき、使用している Python のバージョンに応じて、正しい方法を使用することが重要です。この特定の質問では、Python 2.x での input() の使用が原因で問題が発生します。

問題を理解する

Python 2.x では、 input() 関数は、入力された入力を Python コードとして評価するため、予期しない結果が生じる可能性があります。提供されたコードでは、ユーザーの入力が変数 UserName に割り当てられます。ただし、メッセージ「Hello Mr. UserName」を出力するとき、インタープリタはユーザーの入力を有効な変数名として評価しようとします。

解決策

これを回避するにはPython 2.x の問題では、input() の代わりに raw_input() 関数を使用してください。 raw_input() 関数は、ユーザーの入力を Python コードとして評価せずに文字列として読み取ります。正しいコードは次のようになります。

UserName = raw_input("Please enter your name: ")
print("Hello Mr. " + UserName)
raw_input("<Press Enter to quit.>")

Python 3.x での使用法

Python 3.x では、input() は raw_input() と同様に動作します。 Python 2.x では、デフォルトでユーザーの入力を文字列として評価します。したがって、Python 3.x では、質問で提供されたコードは何も変更せずに機能します。

以上がPython でユーザー入力を処理する際に「NameError: name 'name' が定義されていません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。