python while循环语句

while 循环是 Python 中的一种循环结构,用于在满足给定条件时反复执行一段代码。只要条件表达式为 True,while 循环就会继续执行。直到条件变为 False,循环才会结束。

语法

while 条件:# 循环体# 执行的代码块

条件:是一个表达式,返回 True 或 False。
循环体:是在循环中执行的代码块,只要条件为 True,这些代码就会不断执行。

示例 1:基本 while 循环

x = 0
while x < 5:print(x)x += 1  # 每次循环后增加 x 的值

输出:

0
1
2
3
4

在这个例子中,while 循环会不断执行,直到 x 的值变得不再小于 5。

示例 2:while 循环与 break 语句

break 语句可以用于提前退出循环,通常用于在满足某个特定条件时停止循环。

x = 0
while x < 10:if x == 5:break  # 当 x 等于 5 时,退出循环print(x)x += 1

输出:

0
1
2
3
4

当 x 等于 5 时,break 语句使得循环提前退出。

示例 3:while 循环与 continue 语句

continue 语句用于跳过当前循环中的剩余代码,进入下一次循环。

x = 0
while x < 5:x += 1if x == 3:continue  # 当 x 等于 3 时,跳过本次循环print(x)

输出:

1
2
4
5

当 x 等于 3 时,continue 语句会跳过打印 3,直接进入下一次循环。

示例 4:无限循环

如果 while 条件永远为 True,则会形成无限循环。为了避免无限循环,我们通常会在循环体内设置某种退出条件。

x = 0
while True:  # 这是一个无限循环print(x)x += 1if x == 5:break  # 当 x 等于 5 时,退出循环

输出:

0
1
2
3
4

示例 5:else 与 while 循环

while 循环中可以使用 else 子句,else 块会在循环正常结束时执行。如果循环是因为 break 语句而提前退出的,则 else 块不会执行。

x = 0
while x < 5:print(x)x += 1
else:print("循环正常结束。")

输出:

0
1
2
3
4

循环正常结束。
如果使用 break 提前退出循环,else 部分不会执行:

x = 0
while x < 5:print(x)x += 1if x == 3:break  # 提前退出循环
else:print("循环正常结束。")  # 这个不会被执行

输出:

0
1
2

示例 6:while 循环中的条件表达式

while 循环的条件部分可以是任何返回布尔值的表达式。常见的使用场景是通过数值或其他条件判断来控制循环。

number = 10
while number > 0:print(number)number -= 1  # 每次循环减 1

输出:

10
9
8
7
6
5
4
3
2
1

小结

while 循环:用于在条件满足时反复执行代码,直到条件为 False。
break:用于提前退出循环。
continue:用于跳过当前循环中的剩余部分,继续下一次循环。
else:如果循环没有被 break 提前终止,则执行 else 语句。

while 循环适用于当你不知道循环次数,或者循环的终止条件依赖于某个动态变化的条件时。如果你有任何问题或想了解更多内容,随时告诉我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/886555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)

只需简单5步,Ansible脚本自动搭建AlwaysOn集群(已测试通过,可实际运行)之前已经介绍过这套脚本,请看下面&darr; 一分钟搞定!CentOS 7.9上用Ansible自动化部署SQL Server 2019 注意: 这套ansible脚本不支持RHEL 7.X 和CentOS7.X系统! 这套ansible脚本不支持RHEL 7.X …

[AI/计算机硬件] 部署、训练AI大模型的显卡采购指南 [转]

序截至2025年,全球主流的AI大模型满血版的参数量均已突破百亿级,算力需求正以指数级飙升。特别是 DeepSeek 公司旗下的 R1 系列模型的问世,推动了很多中小企业部署私有化模型的需求。然而,面对动辄数十万上百万元的GPU采购成本,选错一块显卡可能让企业付出高昂的试错代价。…

清华DeepSeek手册第Ⅳ版《DeepSeek﹢智灵DeepResearch 让科研像聊天一样简单》

在数字化浪潮汹涌澎湃的当下,大模型如同一颗璀璨新星,强势崛起并迅速成为科技领域的焦点。从最初的理论探索到如今在各个行业的广泛应用,大模型正以惊人的速度重塑着我们的生活与工作模式。 它的出现不仅是人工智能技术发展的重大突破,更是推动经济增长、提升社会治理效能、…

[Vite] Code Splitting Vite

Code Splitting 打包构建中的代码拆分(Code Splitting)是一种优化技术,它将应用程序的代码拆分成多个小块(chunks),并在需要时按需加载这些代码块。这种技术的目的是提高应用程序的性能和用户体验,主要有以下几个原因:减少初始加载时间 当应用程序的代码被打包成一个单…

ArrayBlockingQueue的poll方法底层原理

一、ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞队列。它的 poll() 方法是用于从队列中移除并返回队首元素的核心方法之一。与 take() 方法不同,poll() 方法在队列为空时不会阻塞,而是立…

java web前台技术的初步学习

今日学习了Java Web 基本开发技术前台技术,分为HTML和CSS HTML 是构建网页结构的基础,用于定义网页中的各种元素,如标题、段落、图片、链接、表格等。通过不同的标签组合,可以搭建出网页的基本框架。 常用标签示例 html示例页面这是一级标题这是一个段落。访问示例网站CSS …

蜜罐-Hfish

一、蜜罐简介 1.1蜜罐技术 ​ 蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击。从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所…

mybatis和mybatis-plus的依赖冲突错误

mybatis-plus底层依托于mybatis,集成了mybatis的依赖,二者都留着,一定程度上会产生版本冲突错误

Schrder-Bernstein定理

Schrder-Bernsteins Theorem 对任意集合\(A,B\),若\(f: A \to B\)与\(g: B \to A\)都是单射,那么存在\(A\to B\)的双射。 Context 设\(f: A \to B, g: B \to A\)是单射。假设\(A,B\)都是有限集,那么该结论是显然的,\(f,g\)本身就是这个双射。否则,说明\(|B|>|A|\)而由\…

ArrayBlockingQueue的take()底层原理

一、ArrayBlockingQueue 的 take() 方法的底层源码的详细介绍 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞队列。它的 take() 方法是用于从队列中移除并返回队首元素的核心方法之一。当队列为空时,take() 方法会阻塞当前线程,…

【CodeForces训练记录】Educational Codeforces Round 174 (Rated for Div. 2)

训练情况赛后反思 被英语读题背刺了,原来 C 题里面的 an element 不是 exacly one element 的意思,是 at least one element,读错题被一直硬控,这题没做出来的死因是高中组合数学。 A题 我们手玩样例可以发现 101 的情况必定不合法,abcd,第一个1说明abc相等,第三个1说明…