具有多个条件的 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