Python 有 while 语句和 for 语句作为循环处理 。虽然 for 语句具有一定数量的进程,但是 while 语句是『直到满足条件』类型的循环进程 。
- 对于无限迭代 while,循环执行的次数没有事先明确指定 。相反,只要满足某些条件指定地块就会重复执行 。
- 使用定义迭代 for,指定块将被执行的次数在循环开始时已经被明确指定 。
整套学习自学教程中应用的数据都是《三國志》、《真·三國無雙》系列游戏中的内容 。
文章插图
while循环
文章插图
while <布尔计算的表达式>:<执行的python语句> # 循环体
控制表达式,<布尔计算的表达式> 通常涉及一个或多个变量,这些变量在开始循环之前被初始化,然后在循环体的某处可能会被修改 。当 while 遇到循环时,首先在 Boolean context 中 <布尔计算的表达式> 进行评估 。
n = 5while n > 0:n -= 1 # n = n - 1print(n)43210
while 首先测试循环的控制表达式 。假设开始就为假,则循环体将永远不会被执行 。n = 5while n > 5:n -= 1print(n)
break语句 和 continue语句while 循环的整个主体都在每次迭代中执行,Python 提供了两个过早终止循环迭代的关键字 。- break 语句立即完全终止循环 。程序执行继续到循环体之后的第一条语句 。
- continue 语句立即终止当前循环迭代 。执行跳转到循环的顶部,并重新评估控制表达式以确定循环是再次执行还是终止 。
文章插图
# break 举例n = 5while n > 0:n -= 1if n == 2:breakprint(n)print('循环结束 。')43循环结束 。# continue 举例n = 5while n > 0:n -= 1if n == 2:continueprint(n)print('循环结束 。')4310循环结束 。
else 子句Python 允许在循环else结束时使用可选子句 。文章插图
while <布尔计算的表达式>:<执行的python语句> # 循环体else:<循环终止后执行语句>n = 5while n > 0:n -= 1print(n)else:print('循环结束 。')43210循环结束 。# 如果有break某些情况下就不会被执行n = 5while n > 0:n -= 1print(n)if n == 2:breakelse:print('循环结束 。')432
无限循环假设编写了一个while理论上永远不会结束的循环 。文章插图
while True:print('真·三國無雙')真·三國無雙真·三國無雙...真·三國無雙Traceback (most recent call last):File "<stdin>", line 1, in <module>KeyboardInterrupt
这样的循环只能手动停止 。但实际上也有它的应用,例如循环删除列表中的元素 。
list_ = ['真·三國無雙', '真·三國無雙', '真·三國無雙']while True:if not list_ :breakprint(list_.pop(-1))真·三國無雙真·三國無雙真·三國無雙
可以 break 在循环中指定多个语句 。可以通过 break 从几个不同的位置结束循环,而不必在循环中指定所有终止条件 。while True:if <布尔计算的表达式1>:# 条件判断1breakif <布尔计算的表达式2>:# 条件判断2breakif <布尔计算的表达式3>:# 条件判断3break
嵌套while循环Python 控制结构可以相互嵌套 。if age < 18:if gender == 'M':print('子供')else:print('娘')elif age >= 18 and age < 65:if gender == 'M':print('父親')else:print('母親')else:if gender == 'M':print('おじいさん')else:print('祖母')
while循环可以包含在另一个while循环中 。list_ = ['父親', '母親']while len(list_ ):print(list_.pop(0))list__ = ['おじいさん', '祖母']while len(list__ ):print('>', list__.pop(0))父親> おじいさん> 祖母母親> おじいさん> 祖母
在嵌套循环中找到的 break 语句适用于最近的封闭循环 。while <布尔计算的表达式1>:statementstatementwhile <布尔计算的表达式2>:statementstatementbreak# 适用于 while <布尔计算的表达式2>: 循环break# 适用于 while <布尔计算的表达式1>: 循环
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 笋干|消费降级得追求性价比,2022必入开架眼影盘,这款更是消肿无敌了
- 便利店|“烈焰红唇”实则祸从「口」入?不必过于担心!
- 生理盐水去痘印
- 奥斯卡|奥斯卡死亡芭比粉爆红,这些红毯出现率最高的唇膏必须马上买了
- 关于退票、改签你必须知道的那些事儿! 改签的票能退吗
- 想学画画 但没有基础?如果学画画没有基础要学多久
- 微信|如何找到以前加过的微信群?官方技巧:群主必知的6个功能
- 明朝那些事儿袁崇焕之死?袁崇焕为什么必须死
- 有必要升级鸿蒙系统吗-?有没有必要升级鸿蒙系统_1
- |辟谣|一份减肥食谱搞定减脂?未必!聊聊我对网上减肥食谱的看法