2017-05-22 3 views
-2

数字の文字列を分割し、各数値を独自の変数に格納しようとしています。私はgoogleとここで回答を探してきましたが、誰もが同じ回答をしているようですが、それは私にとってはうまくいかないでしょう。対話モードで実行している場合文字列を分割するときにPythonエラーが発生する - これがどのようにできるかわからない

x, y = Input.split() 
^ 
SyntaxError: invalid syntax 

が、それは問題なく動作します。

Input = '1 2' 
x, y = Input.split() 

奇妙なことは、私は次のエラーを取得することである。ここでは

は、私が使用していたコードです。

私が試してみた:

  • ではなく、個々の変数よりもリストに割り当てる変数名
  • を変更する64ビットのPython
  • に変更はPython 3.6
  • にはPython 2.7から変更。同じエラー。

インタラクティブモードではなく、.pyファイルでこれが動作しないようにするために何が起こっているのかについて完全に迷っています。思考?

+2

コード全体とともに完全なトレースバックエラーを表示できますか。 – TerryA

+0

スプリットの結果を割り当てないとどうなりますか? –

+0

これはスクリプトからは機能しません...手動で行を書いたり、コピー/貼り付けしていますか?後者の場合、それはいくつかの_eoln_mismatch(_Win_: '\ r \ n'、_Lnx_:' \ n'、_Osx_: '\ r')ではありませんか?どのような_OS_を実行していますか? – CristiFati

答えて

1

を働くようです。 、あなたはまだいくつかのスナップショットを送信したり、コードの下に実行してみてください、問題に直面している場合:

Input = '1 2' 
a, b = Input.split() 

print(a) 

あなたは:

input = '1 2 3' 
x, y, z = input.split() 
print(x) 
print(y) 
print(z) 

任意の行にはインデント

+0

私はこれを関数の中に入れていましたが、関数を中括弧で入れました。奇妙なことは、最初の行に分割出力を印刷しただけで、それが機能したことです。当時の割り当てでは機能しませんでした。私は中括弧を取り除き、それは今働きます。これが朝早くからPythonに切り替えるためのものです。 – darkstarohio

-1

が、これは私がここにコメントを追加することはできませんが、ほとんどこの問題は、インデントのエラーが原因である

Input = '1 2' 
a = Input.split() 
x,y = a 
+0

なぜ作品内で、そのコードが問題ではないと思いますか? –

+0

まあ、実際には両方のコードを実行しました。これは 'x、y = Input.split()'で使用されているアンパックと関係がありますが、正確な理由から見てください。 – Mike

+0

これはかなり混乱しています。ある時点で、両方のコードが正常に動作しています。構文エラーを再生成することはできません。 – Mike

0

以下のコードは正常に動作はありませんテキストエディタには表示されないスクリプト内にいくつかのマルチバイト文字が必要です。私はこれらの文字がPDFまたはPowerPointからスクリプトをコピーした後に表示されると信じています

0

python 3では、以下を使用できます。

Input = '1 2 3 4 5' 
a, *rest, b = Input.split() 
print a => 1 
print rest => [2, 3, 4] 
print b => 5 
関連する問題