Python中elif语句的语法错误

2024-10-02 14:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用python2.7编写的代码时遇到了一些问题。它给了我一个elif语句的语法错误,但是没有解释,我在代码中找不到任何合理的错误。(typeline是我定义的一种方法。)

num = randrange(-25,15)
""" Toxic """
if num >= -25 and num < -10:
        responses = ["Ugh, nasty.", "That was absolutely disgusting.", "My stomach feels like it's going to explode.", "Pardon me if I puke."]
        typeline(responses[randrange(0,4)], "jack")
        return [num, "Jack ate a VERY TOXIC FRUIT and survived.", "Jack ate a VERY TOXIC FRUIT and died."]
""" Mildly poisonous """
elif num >= -10 and num < 0: """ SYNTAX ERROR HERE """
        responses = ["Yuck", "It's kinda bitter.", "Tastes like an unripe banana.", "It's not so bad."]
        typeline(responses[randrange(0,4)], "jack")
        return [num, "Jack ate a MILDLY TOXIC FRUIT and survived.", "Jack ate a MILDLY TOXIC FRUIT and died."]
""" Healthy """
else:
        responses = ["Definitely not too bad", "It's almost kind of tasty!", "Should I make a jam out of this?", "This is my new favorite fruit."]
        typeline(responses[randrange(0,4)], "jack")
        return [num, "Jack ate a HEALTHY FRUIT and was rescued.", "Jack ate HEALTHY FRUIT and survived."]

错误:

^{pr2}$

Tags: and代码returnitresponsesnumjackfruit
1条回答
网友
1楼 · 发布于 2024-10-02 14:27:07

elif前面有一个未插入的三引号字符串:

""" Mildly poisonous """
elif num >= -10 and num < 0:

"""..."""字符串文字是不是多行注释。它们创建字符串,而且只有当您忽略生成的string对象时,Python才会忽略该行。它们仍然是Python语法的一部分;在使用缩进规则时不能忽略它们。在

请使用正确的#注释:

^{pr2}$

因为语法完全忽略了注释,所以它们如何缩进并不重要。在

如果必须使用""" ... """三引号字符串作为“块注释”,则必须将它们缩进,使其成为它们所在的if或{}块的一部分:

""" Toxic """
if num >= -25 and num < -10:
    # ...
    """ Mildly poisonous """
elif num >= -10 and num < 0:
    # ...
    """ Healthy """
else:
    # ...

相关问题 更多 >