繁体   English   中英

Python if,elif,else不运行if,elif或else语句

[英]Python if, elif, else does not run if, elif, or else statement

我在方法中使用if,elif,else语句。 当我运行代码时,它不会运行if,elif或else,但是当我注释掉elif语句时,它会按预期默认为else。

    def message(response):
        args.pop(0)
        if com_text == "trivia":
            # triviaActive will be False
            if triviaActive:
                # Performs action
                return True
            # args[0].lower() is not equal to 'start'
            elif args[0].lower() == "start" and not triviaActive:
                # Performs action
                return True
            # So it should defaults to this else
            else:
                # Performs action
                return True

我在if,elif和else语句链的上方添加了一些注释,这些注释使我得到了意外的结果。 在这种情况下,它不是默认使用else语句,而是从方法返回而无需运行该方法的其余部分。 我什至尝试在if,elif和else语句中使用print语句,但是程序无法运行它们。

(编辑)我简化了if,elif和else。 即使使用此简化版本,我的elif仍然有问题。 我还要提及的是,我使用pop方法从args中弹出一个值并将其设为空,这可能是问题所在。

通过替换来测试代码

com_text == "trivia":

True:

如果不满足条件,将不会运行任何条件。

如果更改后一切看起来都很好,则可能是您的编辑器不喜欢空白行距。 作为健全性检查,请删除空白行,然后查看其是否按预期工作(如果空白行没有适当的缩进,并且您似乎在空白行上没有缩进,则某些编辑器可能无法工作)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM