1

Python 3.3.2 シェルを使用する場合

>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
    print ("Just right!!")
    else:

SyntaxError: invalid syntax
>>> 

私は何を間違っていますか?? これは、「else:」と入力して Enter キーを押すたびに発生します。立ち往生

4

4 に答える 4

5

コードを適切にインデントする必要があります。

>>> 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 つのスペースを入れる習慣を身につけてください。

于 2013-09-09T05:29:38.427 に答える
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.
于 2013-09-09T05:28:43.813 に答える