Python中while无限迭代循环怎么实现
导读:本文共3575字符,通常情况下阅读需要12分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 前言Python 有 while 语句和 for 语句作为循环处理。虽然 for 语句具有一定数量的进程,但 while 语句是『直到满足条件』类型的循环进程。对于无限迭代 while,循环执行的次数没有事先明确指定。相反,只要满足某些条件指定的块就会重复执行。使用定义迭代 for,指定块将被执行的次数在循环开始时已经倍明确指定。除了 while 语句的一般特性... ...
目录
(为您整理了一些要点),点击可以直达。前言
Python 有 while 语句和 for 语句作为循环处理。虽然 for 语句具有一定数量的进程,但 while 语句是『直到满足条件』类型的循环进程。
对于无限迭代 while,循环执行的次数没有事先明确指定。相反,只要满足某些条件指定的块就会重复执行。
使用定义迭代 for,指定块将被执行的次数在循环开始时已经倍明确指定。
除了 while 语句的一般特性之外,Python 也有自己的规范,例如对 do while 语句的支持不足。循环处理是编程的基本语法。
while循环
while <布尔计算的表达式>:
<执行的python语句> # 循环体
控制表达式 ,<布尔计算的表达式> 通常涉及一个或多个变量,这些变量在开始循环之前被初始化,然后在循环体的某处可能会被修改。
当 while 遇到循环时,首先在 Boolean context 中 <布尔计算的表达式> 进行评估。
n=5whilen>0:n-=1print(n)
输出:
4
3
2
1
0
while 首先测试循环的控制表达式。假设开始就为假,则循环体将永远不会被执行。
n=5whilen>5:n-=1print(n)
break语句 和 continue语句
while 循环的整个主体都在每次迭代中执行,Python 提供了两个过早终止循环迭代的关键字。
break 语句立即完全终止循环。程序执行继续到循环体之后的第一条语句。
continue 语句立即终止当前循环迭代。执行跳转到循环的顶部,并重新评估控制表达式以确定循环是再次执行还是终止。
#break举例n=5whilen>0:n-=1ifn==2:breakprint(n)print('循环结束。')
输出:
4
3
循环结束。
#continue举例n=5whilen>0:n-=1ifn==2:continueprint(n)print('循环结束。')
输出:
4
3
1
0
循环结束。
else 子句
Python 允许在循环else结束时使用可选子句。
while<布尔计算的表达式>:<执行的python语句>#循环体else:<循环终止后执行语句>n=5whilen>0:n-=1print(n)else:print('Loopdone.')
输出:
4
3
2
1
0
Loop done.
#如果有break某些情况下就不会倍执行n=5whilen>0:n-=1print(n)ifn==2:breakelse:print('循环结束。')
输出:
4
3
2
无限循环
假设编写了一个while理论上永远不会结束的循环。
whileTrue:print('真·三國無雙')真·三國無雙真·三國無雙...真·三國無雙Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>KeyboardInterrupt
这样的循环只能手动停止。
单实际上也有它的应用,例如循环删除列表中的元素。
list_=['真·三國無雙','真·三國無雙','真·三國無雙']whileTrue:ifnotlist_:breakprint(list_.pop(-1))
输出:
真·三國無雙
真·三國無雙
真·三國無雙
可以 break 在循环中指定多个语句。可以通过 break 从几个不同的位置结束循环,而不必在循环头中指定所有终止条件。
while True:
if <布尔计算的表达式1>: # 条件判断1
break
if <布尔计算的表达式2>: # 条件判断2
break
if <布尔计算的表达式3>: # 条件判断3
break
嵌套while循环
Python 控制结构可以相互嵌套。
ifage<18:ifgender=='M':print('子供')else:print('娘')elifage>=18andage<65:ifgender=='M':print('父親')else:print('母親')else:ifgender=='M':print('おじいさん')else:print('祖母')
while循环可以包含在另一个while循环中。
list_=['父親','母親']whilelen(list_):print(list_.pop(0))list__=['おじいさん','祖母']whilelen(list__):print('>',list__.pop(0))
输出:
父親
> おじいさん
> 祖母
母親
> おじいさん
> 祖母
在嵌套循环中找到的 break 语句适用于最近的封闭循环。
while<布尔计算的表达式1>:statementstatementwhile<布尔计算的表达式2>:statementstatementbreak#适用于while<布尔计算的表达式2>:循环break#适用于while<布尔计算的表达式1>:循环
while循环可以嵌套在 if、elif、else 语句中。
if <布尔计算的表达式1>:
<python执行语句1>
while <布尔计算的表达式2>:
<python执行语句2>
<python执行语句3>
else:
while <布尔计算的表达式3>:
<python执行语句4>
<python执行语句5>
<python执行语句6>
while <布尔计算的表达式1>:
if <布尔计算的表达式2>:
<python执行语句1>
elif <布尔计算的表达式3>:
<python执行语句2>
else:
<python执行语句3>
if <布尔计算的表达式4>:
<python执行语句4>
单行 while 循环
与 if 语句一样,while 可以在一行中指定循环。也可以用 ;组成多个循环体语句。
n=5whilen>0:n-=1;print(n)
输出:
4
3
2
1
0
两个复合语句组合成简写方式是不可以的。
ifTrue:print('data')datawhilen>0:n-=1;ifTrue:print('data')SyntaxError:invalidsyntax
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Python中while无限迭代循环怎么实现的详细内容,希望对您有所帮助,信息来源于网络。