具有多個條件的 Python while 迴圈
Python 中的 while
迴圈是一個迴圈,它幫助執行程式碼直到 while
語句中的條件,即測試條件變為真。當使用者事先不知道要執行的迭代次數時,將使用此迴圈。在許多情況下,while
迴圈用於多個條件。
在本教程中,我們將看到如何使用具有多個條件的 while 迴圈。
使用 and
和 or
邏輯運算子建立具有多個條件的 Python while
迴圈
and
邏輯運算子首先計算整個表示式,然後根據該計算返回結果。如果兩個條件中的任何一個不滿足或不為真,則該語句將被視為錯誤,並且程式碼將不會執行。
例子:
x = 10
y = 20
initial_count = 0
while initial_count < x and initial_count < y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
輸出:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
在這種方法中,我們首先使兩個變數 x 和 y 分別等於 10 和 20。然後我們將計數初始化為零。完成所有這些之後,我們從我們的 while
迴圈開始,它產生兩個條件,如上面的程式碼所示。最後,邏輯與
運算子開始發揮作用。該運算子首先將使用者建立的兩個條件合二為一,然後將這兩個條件作為一個整體進行檢查。如果兩個條件都為真,則迴圈執行;否則,它不會。此外,此運算子在發現第一個語句為真後停止計算。在這種情況下,迴圈在計數 10 後停止工作。
讓我們繼續討論 or
邏輯運算子。就像 and
邏輯運算子一樣,or
運算子也評估給定的條件,然後將這兩個條件組合為一個條件。使用這個運算子的好處是,即使兩個條件語句之一為真,程式碼也會執行。如果這兩個語句都為假,則程式碼將不會執行。
例子:
x = 10
y = 20
initial_count = 0
while initial_count < x or initial_count < y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
輸出:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20
count: 11, x = 10, y = 20
count: 12, x = 10, y = 20
count: 13, x = 10, y = 20
count: 14, x = 10, y = 20
count: 15, x = 10, y = 20
count: 16, x = 10, y = 20
count: 17, x = 10, y = 20
count: 18, x = 10, y = 20
count: 19, x = 10, y = 20
請注意,在此方法中,迴圈不會在第一條語句之後停止。這是因為運算子發現第二個條件也成立。如果第一個語句為真而第二個語句為假,則迴圈將在計數到 10 後停止。
使用 not
邏輯運算子建立具有多個條件的 Python while
迴圈
還有一種邏輯運算子,我們可以通過它在多個條件下使用 while
迴圈,該運算子稱為 not
運算子。此運算子用於返回布林語句的相反值。例如,如果布林狀態為 not False
,則返回 true,如果布林語句為 not True
,則返回 false。
例子:
x = 10
y = 20
initial_count = 0
while not initial_count > x and not initial_count > y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
輸出:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20
此處,while
語句表示如果初始計數不大於 x
且初始計數不大於 y
,則僅返回以下程式碼。另外,請注意,邏輯運算 and
也用於上面的程式碼中,這意味著 and
運算子會發現第一個 not
語句為真,而不計算第二個 not
語句。最後,迴圈開始迭代並在計數為 10 時結束。
因此,就像我們僅以 while 迴圈中的兩個條件為例一樣,可以新增更多這樣的語句。
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn