<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Python 條件語句 > 原文: [https://javabeginnerstutorial.com/python-tutorial/python3-conditional-statements-2/](https://javabeginnerstutorial.com/python-tutorial/python3-conditional-statements-2/) ## 條件決策 在介紹了有關 Python 3 中變量的基本類型的大量介紹性文章之后,現在該繼續介紹條件運算符了,這些條件運算符可幫助我們在運行時基于不同條件創建應用流。 到目前為止,我們只有一個流程:啟動應用,(可能)需要用戶輸入并顯示一個結果。 通過條件更改。 根據輸入或運行時創建的其他參數(您知道,有時不需要輸入),我們可以輸出不同的結果。 我們來看一個簡單的“游戲” **FizzBu??zz** 示例。 游戲的描述非常簡單:如果一個數字可以被 3 整除,那么我們將顯示“`Fizz`”;當一個數字可以被 5 整除時,我們將顯示“`Buzz`”;當一個數字被 3 和 5 整除時,我們將顯示“`FizzBu??zz`”。 ; 否則,我們顯示數字。 讓我們將以下代碼保存到名為`fizzbuzz.py`的文件中: ```py n = int(input("Enter a number: ")) if n%15 == 0: print("FizzBuzz") elif n%3 == 0: print("Fizz") elif n%5 == 0: print("Buzz") else: print(n) ``` 如您所見,此應用現在受到了一定的限制,因為它在啟動時僅執行一次,但是在下一篇文章中,我將介紹循環,然后我們將變得勢不可擋,并且可以編寫可以運行并運行的應用……希望您能理解這個想法。 如果我運行該應用,一些示例輸出將如下所示: ```py MB:examples GHajba$ python3 fizzbuzz.py Enter a number: 5 Buzz MB:examples GHajba$ python3 fizzbuzz.py Enter a number: 6 Fizz MB:examples GHajba$ python3 fizzbuzz.py Enter a number: 2 2 MB:examples GHajba$ python3 fizzbuzz.py Enter a number: 45 FizzBuzz ``` ## 關于條件 條件句根據某些條件改變應用流程。 在大多數情況下,這是基于某些變量的值,有時是基于輸入。 這一切都取決于您的應用的設計方式。 一些開發人員說,在應用流中沒有分支的情況下編寫應用很困難。 好吧,我們已經看到了可能,但是這以一種不好的方式降低了用戶體驗。 最好基于會改變編程狀態的條件創建分支。 上面顯示的“FizzBu??zz”示例是一個不錯的腳本,它顯示了通過分支我們可以在編碼時做很多不同。 但是,以上示例涵蓋了 Python 中`if-then-else`構造的相同程序流。 `if`語句需要一個表達式,其值必須為`True`或`False`。 如果表達式的計算結果為`True`,則執行此語句后的代碼塊。 如果該語句的求值結果為`False`,則跳過此塊。 `elif`語句再次要求一個求值結果為`True`或`False`的語句,并且僅在前一個語句被求值為`False`時才被求值。 否則,甚至不會求值該塊。 如果先前的`if`塊和所有先前的`elif`塊的求值為`False`,則`else`塊執行。 這里不需要任何語句進行求值。 如果所有以前的表達式求值為`False`,則`else`塊是默認情況。 條件塊的基本構造如下: * 一個`if`塊 * 零到任何`elif`塊 * 零或一個`else`塊 這意味著`if`塊必須始終存在。 但是,此`if`塊不必后面帶有任何`elif`或`else`語句。 但是,如果沒有`if`塊,則不能單獨擁有`elif`或`else`塊。 ```py if conditional_expression_1: statement_block_1 elif conditional_expression_2: statement_block_2 else: statement_block_3 ``` 而且,如果您有多個`if`語句,則將同時求值它們。 這意味著對于“FizzBu??zz”示例,您不能使用簡單的`if`塊。 這是因為在這種情況下,每個`if`語句都會被求值,并且會導致您無法預期的結果。 ```py n = int(input("Enter a number: ")) if n%15 == 0: print("FizzBuzz") if n%3 == 0: print("Fizz") if n%5 == 0: print("Buzz") else: print(n) MB:examples GHajba$ python fizzbuzz_wrong.py Enter a number: 15 FizzBuzz Fizz Buzz MB:examples GHajba$ python fizzbuzz_wrong.py Enter a number: 3 Fizz 3 ``` 上面的代碼示例演示了僅當前一個`if`塊的值為`False`時,才對每個`if`塊求值,并且執行最后的`else`。 ## 生活不僅是對還是錯 不幸的是有人說相反,因為布爾條件不僅是對還是錯。 使用 Python 時,在每種情況下 0 的求值結果均為`False`,其他所有數字均求值為`True`。 集合也是如此(當然也包括字符串)。 如果集合為空,則它在條件語句中求值為`False`,在任何其他情況下為`True`。 沒有一個總是求值為`False`。 這就是為什么有人說很難用 Python 編寫條件語句的原因。 但這始終取決于開發人員的口味。 “Python 禪宗”指出 顯式勝于隱式。 但是,在這種情況下,隱式有時甚至更好。 這意味著您可以避免類似以下的構造: ```py if len(l) == 0: # do something if a == 0 or a is None: # do something else ``` 并用這些替換它們: ```py if not l: # do something if not a: # do something else ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看