我绝对是在拉扯我的头发。此函数中的if / elif语句在elif行上引发语法错误。对我来说,没有明显的语法问题。
"elif n == cs_index:"
^
SyntaxError: invalid syntax
我试图将其切换为“ else:”熊,只是看它是否会愚蠢地用词表达,而事实并非如此。我确定有些东西我看不到。
def higherhighlight(cs_index):
text.tag_remove("the hello","1.0", END)
idex = "1.0"
for n in range(cs_index):
if n < cs_index:
idex = text.search("Hello", idex, nocase=1, stopindex=END)
lastidex = idex+"+"+str(len("hello"))+"c"
idex = lastidex
elif n == cs_index:
idex = text.search("Hello", idex, nocase=1, stopindex=END)
print idex
lastidex = idex+"+"+str(len("hello"))+"c"
print lastidex
text.tag_remove("hellos", idex, lastidex)
text.tag_add("the hello", idex, lastidex)
text.tag_config("the hello", background="dark green")
您在代码中混用了制表符和空格。将您最初的帖子的源代码粘贴到Sublime Text中,然后选择所有行,我将看到以下内容:
灰线是制表符,点是空格。我将选项卡设置为扩展到每第4列,您可能具有相同的设置。
Python将制表符扩展到每第8列,其内容如下:
请注意elif
缩进如何与前面的行匹配,因为在这4个空格之后的制表符将扩展到第8列,而不是第二列。这是您看到异常的原因。
不要混用制表符和空格。最好仅在缩进处留空间;这是Python样式指南的建议:
空格是首选的缩进方法。
制表符应仅用于与已经用制表符缩进的代码保持一致。
将编辑器配置为仅使用空格。您仍然可以使用TAB键,但是编辑器在执行操作时将使用空格使行缩进。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句