具有多个条件的 Python while 循环

Lakshay Kapoor 2023年1月30日
  1. 使用 andor 逻辑运算符创建具有多个条件的 Python while 循环
  2. 使用 not 逻辑运算符创建具有多个条件的 Python while 循环
具有多个条件的 Python while 循环

Python 中的 while 循环是一个循环,它帮助运行代码直到 while 语句中的条件,即测试条件变为真。当用户事先不知道要执行的迭代次数时,将使用此循环。在许多情况下,while 循环用于多个条件。

在本教程中,我们将看到如何使用具有多个条件的 while 循环。

使用 andor 逻辑运算符创建具有多个条件的 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
Lakshay Kapoor avatar Lakshay Kapoor avatar

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

相关文章 - Python Loop