Closed. This question is not reproducible or was caused by typos。它当前不接受答案。
想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
7年前关闭。
Improve this question
下面的代码在第一个elif语句中以invlid语法显示。我已经多次检查并重新检查了我的代码,但无法弄清楚如何解决该错误。
您可能希望Python缩进更好。考虑读一点:-)
想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
7年前关闭。
Improve this question
下面的代码在第一个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()
最佳答案
您的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缩进更好。考虑读一点:-)
关于Elif中的Python无效语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21277385/
10-12 21:53