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