【问题标题】:Python Invalid syntax in elif [closed]elif中的Python无效语法[关闭]
【发布时间】:2014-01-22 08:07:04
【问题描述】:

下面的代码在第一个 elif 语句中以无效的语法显示。我已经检查并重新检查了我的代码几次,但无法弄清楚如何解决错误。

fileHandle = open ( 'gra1.txt' )
count=0
count1=0
fileList = fileHandle.readlines()
for fileLine in fileList:
    line=fileLine.split()
    if line[0] == '0':
        print "graph G%d {\n", (count)
        count +=1
    elif line[0] == '1':
        print "} \n"
    elif line[0]=='':
        continue
    else:
        count1 += 1
        if count1==1: a=line[0]
        elif count1==2: relation=line[0]
        elif count1==3: b=line[0]
        else:
            print a, relation, b
            count1=0
fileHandle.close()

【问题讨论】:

标签: python if-statement syntax-error


【解决方案1】:

您的elif 没有正确缩进...应该像if 一样缩进。看到else 块,您似乎错误地缩进了第一个if。请记住,elif/else 应该始终以 if 开头。

EDIT:对应编辑的问题详情:为什么第二个else在那里?它前面没有if。我觉得你需要在编写代码之前正确组织你的条件。

纠正代码的一种方法是将其更改为elif 块:

else:
    count1 += 1
    if count1==1: a=line[0]
    elif count1==2: relation=line[0]
    elif count1==3: b=line[0]

您可能希望 Python 中的缩进变得更好。考虑阅读一下:-)

【讨论】:

  • 感谢您的快速回复。但它仍然不起作用..我的原始代码缩进了..而且我在Windows中使用python。它是否会产生有关语法错误的任何问题?
  • @user3187705 那么请确保问题中的代码与您的本地代码完全匹配...否则这里的人帮不了您...
  • 是的,感谢您指出我的错误...我在输入问题时错过了缩进...现在已更正..
  • 缩进没问题,但你还是错了。查看我的答案中的编辑。您可能想要缩进第二个 elif 以便它在第一个内。
  • 你猜怎么着?现在我在第 19 行 else 语句中出现错误!
【解决方案2】:
if line[0] == '0':
    print "graph G%d {\n", (count)
    count +=1
elif line[0] == '1':

您似乎不小心放错了您的第一个 elif。在那种状态下,它不匹配 if's 所以你会得到一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2014-11-23
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    相关资源
    最近更新 更多