python编辑elif显示错误_Python if / elif语法错误…为什么

本问题已经有最佳答案,请猛点这里访问。

我绝对会为此扯头发。 此函数中的if / elif语句在elif行上引发语法错误。 对我来说,没有明显的语法问题。

1

2

3"elif n == cs_index:"

^

SyntaxError: invalid syntax

我试图将其切换为" else:"熊,只是看它是否会愚蠢地用词表达,而事实并非如此。 我确定有些东西看不到。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16def 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")

您是否检查过代码是否正确缩进?

将代码粘贴到我的IDE中后,没有语法错误。 必须是您的缩进。

您是否混合了制表符和空格?

您在代码中混合了制表符和空格;将您最初的帖子的源代码粘贴到Sublime Text中,然后选择所有行,我将看到以下内容:

yYweS.png

灰线是制表符,点是空格。我将选项卡设置为扩展到第4列,您可能具有相同的设置。

Python将选项卡扩展到每第8列,它会显示以下内容:

vb5IF.png

请注意elif缩进如何与前面的行匹配,因为在这4个空格之后的制表符将扩展到第8列,而不是第二列。这是您看到异常的原因。

不要混用制表符和空格。最好仅在缩进处留空间;这是Python样式指南的建议:

Spaces are the preferred indentation method.

Tabs should be used solely to remain consistent with code that is already indented with tabs.

将编辑器配置为仅使用空格。您仍然可以使用TAB键,但是编辑器在执行操作时将使用空格使行缩进。

将我的代码粘贴到Spyder IDE中并运行之后,我没有显示任何错误(除了print语句中缺少的括号外-您应该真正升级到Python 3.5.2!)

尝试通过重新设置缩进并添加三个选项卡来重新缩进该行。复制和粘贴使用空格进行缩进的代码时,也会出现类似的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值