Python elif中的语法无效

时间:2014-01-22 08:07:04

标签: python if-statement syntax-error

下面的代码显示了第一个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()

2 个答案:

答案 0 :(得分:7)

您的elif没有正确缩进...它应该缩进if缩进的方式。看到else块,似乎您错误地缩进了第一个if。请注意,elif/else之前应始终为if

与编辑的问题详细信息对应的

编辑::为什么第二个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中的缩进变得更好。考虑阅读一下: - )

答案 1 :(得分:0)

if line[0] == '0':
    print "graph G%d {\n", (count)
    count +=1
elif line[0] == '1':

好像你不小心放错了第一个elif。在那种情况下,它会匹配知道是否会导致错误。