Elif语法错误python

时间:2015-08-25 18:27:39

标签: python python-2.7

Traceback (most recent call last):                                                                                                                                   
  File "cavernousJ.py", line 3, in <module>                                                                                                                          
    from travels import lookAround, findAnswer                                                                                                                       
  File "/home/cg/root/travels.py", line 13                                                                                                                           
    elif answer == "west":                                                                                                                                           
       ^                                                                                                                                                             
SyntaxError: invalid syntax  

基本上,函数travels应该包含一个字符串(答案)以及另外两个变量(我尚未得到)并确定一个人旅行的方向。但是,当我运行这个时,我得到了回复:

For Each i In MyArray

    xl.Workbooks.Open (i)
    'If workbook in read only mode , close and open till read/write is active
    Do Until xl.ActiveWorkbook.ReadOnly = False
        xl.ActiveWorkbook.Close (False)
        If GetAttr(i) = vbReadOnly Then _
            SetAttr i, vbNormal
        xl.Workbooks.Open (i)
    If xl.ActiveWorkbook.ReadOnly = False Then Exit Do
    Loop    'Loop above till read/write active

    '''''More code here when workbook read/write mode
Next

1)这种语法错误在哪里? 2)为什么终端响应“西”elif而不是“南”elif的错误?

我读过的所有教程似乎都表明我使用了正确的elif语句格式。我使用一系列elif语句的其他代码是相似的(并没有给我带来问题)。我知道这不是等号,我知道我应该使用:在elif语句的末尾。

2 个答案:

答案 0 :(得分:5)

elif answer == "west":之前有一个标签;导致错误的原因是什么。您还在下一行有一个标签。用空格替换它们。您还应该将编辑器配置为使用空格自动替换选项卡。

答案 1 :(得分:3)

您也可以这样做:

if answer.lower() in ('north', 'south', 'east', 'west'):
   return 'you travel ' + answer

除非你真的关心单词&#34;

这个词的不一致大写