簡體   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