Python elif中的语法无效

abh*_*ekG 5 python if-statement syntax-error

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

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()
Run Code Online (Sandbox Code Playgroud)

gra*_*tii 9

你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]
Run Code Online (Sandbox Code Playgroud)

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

  • @ user3187705那么请确保问题中的代码完全符合您当地的代码......这里的人不能帮助您...... (2认同)
  • 是的,谢谢你指出我的错误……我在输入问题时错过了缩进……现在更正了…… (2认同)