Python While 循环2025年3月24日 | 阅读 9 分钟 Python 的 while 循环用于在给定条件保持为 True 的情况下重复执行一段代码。当迭代次数事先未知时,它很有用。 语法 while 循环首先评估指定的条件表达式。如果条件为 True,则执行 while 循环的语句。当整个代码块执行完毕后,会重新检查条件。此过程一直重复,直到条件表达式返回 False。 ![]() 让我们看一个简单的 Python while 循环的例子。 示例立即执行输出 0 Hello 1 Hello 2 Hello 3 Hello 4 Hello 在上面的示例中,我们将变量 counter 初始化为 0。然后我们进入一个 while 循环,该循环执行代码块,只要 counter 小于 5。在循环内,我们打印 counter 的当前值,后跟“Hello”。每次迭代后,counter 增加 1。一旦 counter 达到 5,条件 counter < 5 就变为 False,导致循环终止。 Python 中 while 循环的流程图以下流程图表示“while”循环的工作原理 ![]() 步骤 1: 程序开始。 步骤 2: while 循环检查指定的条件表达式是True还是False。
步骤 3: 如果条件为 True,则执行循环内的语句。 步骤 4: 修改控制循环的变量(例如,增加计数器)。 步骤 5: 返回到步骤 2 并重新评估条件。 步骤 6: 一旦条件变为 False,它将退出循环并继续执行程序的其余部分。 注意 需要缩进来定义 while 循环内的代码块。不正确或错误的缩进可能导致语法错误或逻辑错误(如无限循环)。 在 Python 中,任何非零数字都被解释为布尔值 True。False 被解释为 None 和 0。 Python while 循环的一些示例现在我们来看一些 Python 中 while 循环的基本示例。 使用 while 循环查找可被 5 或 7 整除的数字在下面的示例中,我们将演示如何使用 Python 中的 while 循环查找 1 到 50 之间可被 5 或 7 整除的数字。 示例立即执行输出 5 7 10 14 15 20 21 25 28 30 35 40 42 45 49 使用 while 循环查找平方和在下面的示例中,我们将演示如何使用 Python 中的 while 循环计算前 15 个自然数的平方和。 示例立即执行输出 The sum of squares is 1240 使用 While 循环检查素数在下面的示例中,我们将演示如何使用 Python 中的 while 循环检查给定数字是否为素数。 示例立即执行输出 34 is not a PRIME number 12 is not a PRIME number 54 is not a PRIME number 23 is a PRIME number 75 is not a PRIME number 34 is not a PRIME number 11 is a PRIME number 使用 While 循环检查 阿姆斯特朗数在下面的示例中,我们将演示如何使用 while 循环检查给定整数是否为阿姆斯特朗数。 示例立即执行输出 现在,我们在 Python 中编译上述代码,并在成功编译后运行它。然后下面是输出: 342 It is not an Armstrong number. 使用 While 循环创建乘法表在此示例中,我们将演示如何使用 Python 中的 while 循环为给定数字创建乘法表。 示例立即执行输出 The Multiplication Table of: 21 21 x 1 = 21 21 x 2 = 42 21 x 3 = 63 21 x 4 = 84 21 x 5 = 105 21 x 6 = 126 21 x 7 = 147 21 x 8 = 168 21 x 9 = 189 21 x 10 = 210 Python 中的无限 while 循环在这种情况下,条件的 value 始终为 True。因此,循环体将无限运行,直到内存耗尽。 循环控制语句会改变执行的正常顺序。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。Python 支持以下控制语句。 Python while 循环的循环控制语句现在我们将研究 Python 的 while 循环中使用的各种循环控制语句。 1. break 语句break 语句会立即终止 while 循环,而不管条件如何。 示例:当计数器达到 3 时停止循环。 示例立即执行输出 Counter is: 0 Counter is: 1 Counter is: 2 Counter is: 3 Breaking the loop at 4 在上面的示例中,一旦计数器达到 4,循环就会停止,即使原始条件是 counter < 8。 2. continue 语句continue 语句会跳过当前迭代,并移至下一个迭代,而无需执行循环中剩余的代码。 示例:当计数器为 2 时跳过打印。 示例立即执行输出 Counter is: 1 Counter is: 2 Counter is: 3 Counter is: 5 Counter is: 6 Counter is: 7 Counter is: 8 在上面的示例中,当 counter 值为 4 时,循环会跳过 print 语句;但是,它会继续执行后面的代码。 3. pass 语句pass 语句充当占位符,不起任何作用。当语法上需要循环,但不需要立即执行功能时,它很有用。 示例:在循环中使用 pass。 示例立即执行输出 Counter is: 0 Counter is: 1 Counter is: 2 Counter is: 3 Counter is: 4 Counter is: 5 Counter is: 6 Counter is: 7 在此示例中,pass 语句确保在开发代码时 Python 不会抛出错误。 4. else 与 while 循环当循环正常完成(没有 break 语句)后,会执行 else 块。 示例:循环完成后打印一条消息。 示例立即执行输出 Counter is: 0 Counter is: 1 Counter is: 2 Counter is: 3 Counter is: 4 Counter is: 5 Counter is: 6 Counter is: 7 Loop completed successfully! 在上面的示例中,只有当循环没有被 break 终止时,else 块才会运行。 示例:如果使用 break,则会跳过 else 块。 示例立即执行输出 Counter is: 0 Counter is: 1 Counter is: 2 Counter is: 3 Counter is: 4 在此示例中,由于 break 语句提前终止了循环,因此 else 块不会执行。 Python while 循环的优点1. 灵活执行 当迭代次数事先未知时,while 循环非常合适,因为它只要条件为 True 就会运行。 2. 对用户驱动型程序有效 当循环的持续时间由动态条件或用户输入决定时(例如,等待用户输入)很有帮助。 3. 减少代码重复 通过快速处理多次迭代,while 循环消除了编写重复代码的需要,使代码更清晰,更易于维护。 4. 允许无限循环 如果管理得当,使用 True 的无限循环在服务器、实时监控和后台进程等应用程序中可能很有用。 5. 利用条件逻辑 由于循环是动态基于条件运行的,因此可以轻松地将其与逻辑条件结合起来控制程序流。 Python While 循环的缺点1. 无限循环的风险 如果循环条件永远不会变为 False,程序可能会陷入无限循环,导致程序冻结或 CPU 利用率过高。 2. 条件处理必须手动完成 与自动迭代范围或序列的循环相比,while 循环需要手动管理条件,这增加了出错的可能性。 3. 可读性较低 与 for 循环相比,while 循环有时更难阅读和调试,尤其是当涉及复杂条件时。 4. 性能开销 与 for 循环等更结构化的循环相比,如果 while 循环没有得到适当的优化,它可能会通过导致不必要的迭代来降低性能。 5. break 和 continue 可能会令人困惑。 如果不在 while 循环内小心使用 break 和 continue 语句,可能会使代码更难阅读和调试。 确保循环条件最终变为 False,并小心处理 break 和 continue 语句对于有效地使用 while 循环至关重要。当正确使用时,while 循环是一种基本的编程工具,可以提高各种应用程序的灵活性和效率。 结论总而言之,我们可以得出结论:Python 的 while 循环是一种灵活的控制结构,它允许根据条件重复执行代码。它非常适合用户驱动的编程、实时监控和动态条件循环,因为它在迭代次数不固定时特别有用。另一方面,对 while 循环的误用可能导致可读性问题、性能低下和无限循环。 Python While 循环 - 选择题1. Python 中 while 循环的正确语法是什么?
答案: A) while count < 5 2. 以下代码的输出是什么?
答案: B) 1 2 3 4 3. 如果 while 循环中的条件永远不会变为 False,会发生什么?
答案: C) 循环将无限运行(无限循环)。 4. 这段代码的输出是什么?
答案: D) 3 2 1 Done 5. 哪个循环控制语句用于跳过当前迭代并移至下一个迭代?
答案: B) continue 下一个主题Python continue |
我们请求您订阅我们的新闻通讯以获取最新更新。