My Python 3.3.2有问题吗?

时间:2013-09-09 05:25:38

标签: python

使用Python 3.3.2 shell时

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

SyntaxError: invalid syntax
>>> 

我做错了什么?这种情况发生在我输入“else:”之后,然后按回车键。我卡住了

4 个答案:

答案 0 :(得分:5)

您需要正确缩进代码:

>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
...     print('Just right!')
... else:
...     print('Oh no!')
...
Just right!

正确缩进后,...会自动显示(因此请不要输入)。

与大多数语言不同,Python中的缩进很重要。这是Python解释器识别代码块的方式。您可能会听到“空白是重要的”一词,这意味着同样的事情。空白表示您键入的不打印的内容(如空格,制表符等)。

所以你应该总是在左边缘排列代码块的标识符(以:结尾的行)。将这些代码块的主体缩进多少空间并不重要(在您的示例中,print函数位于if语句的主体中)。只要有一个空间,Python就可以工作。但是,标准是使用4个空格;所以,每当你想要缩进代码时,最好养成四个空格。

答案 1 :(得分: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.

答案 2 :(得分:0)

你的病情后甚至不需要“别人”。如果您想在不满足第一个条件时打印其他信息,则可能需要它

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

答案 3 :(得分:0)

就像其他人所说的那样,如果你不想对其他情况做任何事情,你就不需要else声明。

但是,如果您想要else语句但不想做任何事情,可以放pass语句:

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