[英]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.