使用Python 3.3.2 shell时
>>> temperature = 70
>>> if temperature > 60 and temperature < 75:
print ("Just right!!")
else:
SyntaxError: invalid syntax
>>>
我做错了什么?这种情况发生在我输入“else:”之后,然后按回车键。我卡住了
答案 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!! >>>