Python while循环是什么类型循环,能做什么
Admin 2022-09-14 群英技术资讯 449 次浏览
Python 有 while 语句和 for 语句作为循环处理。虽然 for 语句具有一定数量的进程,但 while 语句是『直到满足条件』类型的循环进程。
对于无限迭代 while,循环执行的次数没有事先明确指定。相反,只要满足某些条件指定的块就会重复执行。
使用定义迭代 for,指定块将被执行的次数在循环开始时已经倍明确指定。
除了 while 语句的一般特性之外,Python 也有自己的规范,例如对 do while 语句的支持不足。循环处理是编程的基本语法。
while <布尔计算的表达式>:
<执行的python语句> # 循环体
控制表达式 ,<布尔计算的表达式> 通常涉及一个或多个变量,这些变量在开始循环之前被初始化,然后在循环体的某处可能会被修改。
当 while 遇到循环时,首先在 Boolean context 中 <布尔计算的表达式> 进行评估。
n = 5 while n > 0: n -= 1 print(n)
输出:
4
3
2
1
0
while 首先测试循环的控制表达式。假设开始就为假,则循环体将永远不会被执行。
n = 5 while n > 5: n -= 1 print(n)
while 循环的整个主体都在每次迭代中执行,Python 提供了两个过早终止循环迭代的关键字。
# break 举例 n = 5 while n > 0: n -= 1 if n == 2: break print(n) print('循环结束。')
输出:
4
3
循环结束。
# continue 举例 n = 5 while n > 0: n -= 1 if n == 2: continue print(n) print('循环结束。')
输出:
4
3
1
0
循环结束。
Python 允许在循环else结束时使用可选子句。
while <布尔计算的表达式>: <执行的python语句> # 循环体 else: <循环终止后执行语句> n = 5 while n > 0: n -= 1 print(n) else: print('Loop done.')
输出:
4
3
2
1
0
Loop done.
# 如果有break某些情况下就不会倍执行 n = 5 while n > 0: n -= 1 print(n) if n == 2: break else: print('循环结束。')
输出:
4
3
2
假设编写了一个while理论上永远不会结束的循环。
while True: print('真·三國無雙') 真·三國無雙 真·三國無雙 . . . 真·三國無雙 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyboardInterrupt
这样的循环只能手动停止。
单实际上也有它的应用,例如循环删除列表中的元素。
list_ = ['真·三國無雙', '真·三國無雙', '真·三國無雙'] while True: if not list_ : break print(list_ .pop(-1))
输出:
真·三國無雙
真·三國無雙
真·三國無雙
可以 break 在循环中指定多个语句。可以通过 break 从几个不同的位置结束循环,而不必在循环头中指定所有终止条件。
while True:
if <布尔计算的表达式1>: # 条件判断1
break
if <布尔计算的表达式2>: # 条件判断2
break
if <布尔计算的表达式3>: # 条件判断3
break
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>: statement statement while <布尔计算的表达式2>: statement statement break # 适用于 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>
与 if 语句一样,while 可以在一行中指定循环。也可以用 ;组成多个循环体语句。
n = 5 while n > 0: n -= 1; print(n)
输出:
4
3
2
1
0
两个复合语句组合成简写方式是不可以的。
if True: print('data') data while n > 0: n -= 1; if True: print('data') SyntaxError: invalid syntax
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
def是define的缩写,用来自定义函数,下面这篇文章主要给大家介绍了关于Python中def()函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
这篇文章主要介绍了Python 解析获取 URL 参数及使用,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
傅里叶变换是一种函数在空间域和频率域的变换,从空间域到频率域的变换是傅里叶变换,而从频率域到空间域是傅里叶的反变换。这篇文章主要为大家介绍的是通过Python实现图像的傅里叶变换,感兴趣的可以了解一下
本文实例为大家分享了Python实现仓库管理系统的具体代码,供大家参考,具体内容如下注意:在Linux环境运行代码#!/usr/bin/env python# -*- coding:utf-8 -*-# @FileName :store
这篇文章主要介绍了Python 中面向接口编程详情,Python 中的接口与大多数其它语言的处理方式不同,它们的设计复杂性也不同,关于Python 接口编程的介绍,需要的小伙伴可以参考下面文章内容
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008