私は、これは1行に複数の値を割り当てるための方法ではありません知っているが、私はちょうど第四行はここでやっているかを理解しようとしています:ない十分な値
a = input("blah blah")
b = input("blah blah blah")
c = input("blaaah")
A=a,B=b,C=c
print(A,B,C)
a
,b
、c
がまたはfloat
の場合は、"int/float object is not iterable"
というエラーが表示されます。
a
場合は、b
、c
は文字列であるとa="ab"
、b="cd"
、c="ef"
を言って、プリントが表示されます:
ef f f
を文字列が長さ!= 2
のであれば、それは"not enough/too many values to unpack"
エラーを示しています。
誰かが何が起こっているのか説明できますか?あなたが起こっている正確に何を見るために解体を見てみることができ
'A'と 'B'が何の役割を持っていないことが正しくありません。 'A = 4、B =" aa "'を試してみると、SyntaxError:literalに代入できません。 'A'の値を取得しようとすると' NameError:name 'A'定義されていません ' – nutmeg64
@ nutmeg64もう一度これをやりましょう。何が起こるのか 'A = 'aa''が試みられ、' 4、B =' aa''を実行しようとする試みが行われます。これは一回のステップで実行されるので、 'SyntaxError'は代入全体を防ぎ、' A'は代入されず、 'NameError'を取得するので、すべてが失敗します。 'a = 1;を試してください。 b = 3; A = a、b = 'ef' 'と出力を参照してください。 –
それは正しいです。したがって、以下のコードスニペットは「実際に評価されています:」という誤りは正しくありません。あなたはそこに他の任務が__before__起こっていることを暗示します。 – nutmeg64