我是Python新手,目前正在学习控制流命令,如if
、else
,等等
if
语句工作正常,但是当我编写else
或elif
命令时,解释器会给出语法错误。我使用的是Python3.2.1,问题出现在它的本机解释器和IDLE中。
我按照书中的说明来做。如您所见,elif
和else
给出了无效语法。
>> number=23
>> guess = input('Enter a number : ')
>> if guess == number:
>> print('Congratulations! You guessed it.')
>> elif guess < number:
**( It is giving me 'Invalid Syntax')**
>> else:
**( It is also giving me 'Invalid syntax')**
为什么会这样?我在IDLE和交互式python中都遇到了问题。我希望语法正确。
看起来您在
if
语句的主体后面输入了一个空行。这向交互式编译器提示您已经完全使用了块,因此不需要任何elif
/else
块。尝试输入与此完全相同的代码,并且在每行之后只按enter一次:问题是在{{CD1>}或^ {< CD2>}之前键入的空白行。注意你得到的提示。如果是
>>>
,那么Python需要一个新语句的开头。如果是...
,那么它希望您继续前面的语句。elif
和else
必须立即跟随if
块的结尾,否则Python将假定该块在没有它们的情况下已关闭。在代码中,解释器在缩进时完成
if
块,因此elif
和else
与之无关。因此,它们被理解为独立的语句,这是没有意义的。一般来说,尝试遵循style guidelines,这包括删除多余的空白。
相关问题 更多 >
编程相关推荐