文字列変数test
があり、Python 2.xこれは正常に機能します。
test = raw_input("enter the test")
print test
しかし、Python 3.xでは、私は:
test = input("enter the test")
print test
入力文字列sdas
を使用すると、エラーメッセージが表示されます
トレースバック(最後の最後の呼び出し):
ファイル「/home/ananiev/PycharmProjects/PigLatin/main.py」、
5行目、test = input( "enter the test")
NameErrorのファイル ""、1行目:名前 'sdas'は定義されていません
Python 3コードをPython 2インタープリターで実行しています。そうでない場合は、print
ステートメントがスローされます SyntaxError
入力のプロンプトが表示される前。
結果は、Python 2の input
を使用していることです。これは、入力をeval
(おそらくsdas
)、無効なPythonであることが判明し、死にます。
必要なコードは次のとおりです。
test = input("enter the test")
print(test)
それ以外の場合、構文エラーのため、まったく実行されません。 print
関数には、python 3.の括弧が必要です。ただし、エラーを再現することはできません。
temperature = input("What's the current temperature in your city? (please use the format ??C or ???F) >>> ")
### warning... the result from input will <str> on Python 3.x only
### in the case of Python 2.x, the result from input is the variable type <int>
### for the <str> type as the result for Python 2.x it's neccessary to use the another: raw_input()
temp_int = int(temperature[:-1]) # 25 <int> (as example)
temp_str = temperature[-1:] # "C" <str> (as example)
if temp_str.lower() == 'c':
print("Your temperature in Fahrenheit is: {}".format( (9/5 * temp_int) + 32 ) )
Elif temp_str.lower() == 'f':
print("Your temperature in Celsius is: {}".format( ((5/9) * (temp_int - 32)) ) )
sdasは変数として読み取られています。文字列を入力するには、「」が必要です
Printの構文エラーを取り除けば、複数のシナリオで入力を使用する方法は次のとおりです。
python 2.xを使用している場合:
then for evaluated input use "input"
example: number = input("enter a number")
and for string use "raw_input"
example: name = raw_input("enter your name")
python 3.xを使用する場合:
then for evaluated result use "eval" and "input"
example: number = eval(input("enter a number"))
for string use "input"
example: name = input("enter your name")
同じエラーが発生しました。このコマンドで「python filename.py」と入力した端末では、python3が記述されているため、python2はpython3コードを実行しようとしました。ターミナルで「python3 filename.py」と入力すると、正しく実行されます。これがあなたにも役立つことを願っています。
Ubuntuのようなオペレーティングシステムでは、pythonがプリインストールされています。デフォルトのバージョンはpython 2.7です。端末で以下のコマンドを入力してバージョンを確認できます。
python -V
インストールしたがデフォルトバージョンを設定しなかった場合は、
python 2.7
ターミナル内。 Ubuntuでデフォルトのpythonバージョンを設定する方法を説明します。
簡単で安全な方法は、エイリアスを使用することです。これを〜/ .bashrcまたは〜/ .bash_aliasesファイルに配置します:
alias python=python3
ファイルに上記を追加した後、以下のコマンドを実行します。
source ~/.bash_aliases
またはsource ~/.bashrc
python -V
を使用して、もう一度pythonバージョンを確認してください。
if pythonバージョン3.x.xの場合、エラーはprintを括弧付きで使用するような構文にあります。
test = input("enter the test")
print(test)