Python 3.3.2 シェルを使用する場合
>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
print ("Just right!!")
else:
SyntaxError: invalid syntax
>>>
私は何を間違っていますか?? これは、「else:」と入力して Enter キーを押すたびに発生します。立ち往生
Python 3.3.2 シェルを使用する場合
>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
print ("Just right!!")
else:
SyntaxError: invalid syntax
>>>
私は何を間違っていますか?? これは、「else:」と入力して Enter キーを押すたびに発生します。立ち往生
コードを適切にインデントする必要があります。
>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
... print('Just right!')
... else:
... print('Oh no!')
...
Just right!
適切にインデントすると、...
自動的に表示されます (入力しないでください)。
ほとんどの言語とは異なり、Python ではインデントが重要です。これは、Python インタープリターがコードのブロックを識別する方法です。「空白は意味がある」というフレーズを耳にするかもしれませんが、同じ意味です。空白とは、印刷されない入力内容 (スペース、タブ文字など) を意味します。
したがって、常にコード ブロックの識別子 ( で終わる行:
) を左マージンに並べる必要があります。これらのコード ブロックの本文をインデントするスペースの数は重要ではありません (この例では、print 関数は if ステートメントの本文にあります)。スペースが 1 つあれば、Python は機能します。ただし、標準では 4 つのスペースを使用します。コードをインデントしたいときはいつでも 4 つのスペースを入れる習慣を身につけてください。
ステートメントは、それが参照するステートメントとelse:
同じレベルのインデントである必要があります。if:
>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
... print ("Just right!!")
... else:
... print ("Oh noes.")
...
Just right!!
これは正しい動作です。そうしないと、Python はステートメントが何else:
を参照しているのかわかりません。
>>> if True:
... if False:
... print("Wha?")
... else:
... print("Yay.")
... else:
... print("Huh?")
...
Yay.