Python全栈自动化测试-Python基础08--循环结构-while

目录

前言

一、while循环

二、while条件

1.while条件--固定值

2.while条件-运算符

三、避免死循环

1.条件不为恒定值

2.条件为恒定值

2.1.避免死循环-continue

2.2.避免死循环-break

2.3.避免死循环-break+continue

总结


前言

在Python编程中,循环结构是构建程序逻辑的重要基石之一。其中,while循环以其灵活性和高效性,成为了处理重复任务的首选工具。无论是进行简单的数据校验,还是构建复杂的迭代算法,while循环都能发挥其独特的优势。通过合理设置循环条件和内部逻辑,我们可以轻松实现程序的自动化和智能化,为编程实践带来无尽的便利和可能。本文将深入探讨Python中while循环的使用方法和应用场景,


一、while循环

生活中我们经常会遇到一些重复的情况,例如:每天奔波于家和公司之间、循环播放音
乐、网站密码输错时需重新输入等。
代码中想要实现一些重复行的操作,可以借助while循环语句来实现。例如实现:提示用
户输入用户名和密码,如果输入错误则重新提示用户输入用户名和密码等。

​​​​​​​while循环语法结构:
while 条件:
    ...
    ... 
    循环体

执行逻辑:
    先对条件进行判断,条件结果为False,则不会进入循环体;
    条件结果为True,则进入执行循环体中的所有代码,循环体中代码执行完之后,会再次回到while条件判断的位置,再次判断此时条件,如果为True,则循环体中的代码会再执行一遍,然后再回到while条件判断,直到条件为False,跳过循环体中代码,跳出while循环。

让某段代码逻辑去反复执行,这个就叫循环,具体的循环次数,是由条件判断的
1.只要满足条件,那么就会去执行一次
2.执行到辑代码块的最后一行,就会重新去判断条件
3.如果再次判断的条件,依旧满足的话,就会再次去执行(如果条件为False,就会终止循环)

如果while的判断条件,始终都满足 -- 一直执行/死循环

注:手动终止代码的运行,有可能会报错

二、while条件

while后面的判断条件可以用各种数据类型的值,也可以是运算符
各种数据类型的值:数字、字符串、列表、元组、字典、集合
运算符,主要包括:比较运算符(> < == >= <=)、逻辑运算符(and,or,not)、成员运算符(in,not in)

1.while条件--固定值

while后的条件使用固定的值:如数字、字符串、列表、元组、字典、集合等。
其中非0值,非空值(非空字符串、非空列表、非空数组、非空字典、非空集合等)=== True
其中0,空值(空字符串、空列表、空数组、空字典、空集合等) === False

注意:如果是Flase,则无法进入循环体;如果是True,则是一个死循环

while 0:
    print("这是循环体0")

while 100:
    print("这是循环体100")

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
这是循环体100
这是循环体100
这是循环体100
这是循环体100
这是循环体100
这是循环体100
。
。
。

2.while条件-运算符

while条件里面中使用运算符,主要包括:
    比较运算符(> < == >= <=)、逻辑运算符(and,or,not)、成员运算符(in,not in)

注意:如果是Flase,则无法进入循环体;如果是True,则是一个死循环

"""
运算符,主要包括:
比较运算符(><==>=逻辑运算符f(and, or, not)成员运算符(in,not in)
"""
while 1 > 2:
    print('这是循环体0')
while 1 < 2:
    print('这是循环体1')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
这是循环体1
这是循环体1
这是循环体1
这是循环体1
。
。
。

三、避免死循环

上述的案例中,发现要么无法进入循环体,要么就是死循环,如何避免这种情况?
避免死循环的方式:
    1. while后面的条件不为恒定值
        • 引入变量,并在内部实现变量的递增或递减
        • 变量与while后面的条件组合
    2. while后面的条件为恒定值
        • 引入continue和break
        • 添加内部判断条件

1.条件不为恒定值

while后面的条件不为恒定值
1. 引入变量,并在内部实现变量的递增或递减
2. 变量与while后面的条件组合

# 通过改变while的条件,去防止判断条件恒定
a = 0
while a < 6:
    print("这是循环体", a)
    a += 1
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
这是循环体 0
这是循环体 1
这是循环体 2
这是循环体 3
这是循环体 4
这是循环体 5


b = 10
while b:  # 非0则为True ,等与0就是False
    print("这是循环体", b)
    b -= 2
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
这是循环体 10
这是循环体 8
这是循环体 6
这是循环体 4
这是循环体 2

2.条件为恒定值

while后面的条件为恒定值
1. 引入continue和break
2. 添加内部判断条件

2.1.避免死循环-continue

continue:结束本次循环,继续下一次循环

while True:
    ... 
    continue
    ...

执行过程:在循环体中遇到continue之后,本次循环不再执行continue下面的代码,直接回到while条件判断的位置,开始下一次循环。

# 遇到continue这个关键字,这个时候不去执行往下的代码(循环内部),直接重新去判断条件
while True:
    print('hello')
    continue
    print('python')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
hello
hello
hello
hello
。
。
。

2.2.避免死循环-break

break:终止while循环

while True:
    ... 
    break
    ...

执行过程:while循环体一旦遇到break,则立即终止while循环,从break的位置直接跳出while,去执行while之后的代码。

# while后面的条件为恒定值引入continue和break添加内部判断条件
while True:
    print('hello python')
    break
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
hello python

2.3.避免死循环-break+continue

# break+continue控制循环次数
# 使用break/continue,循环3次,打印出hello python
num = 1
while True:
    print('hello python', num)
    num += 1
    if num <= 3:
        continue
    else:
        break
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
hello python 1
hello python 2
hello python 3


总结

while循环作为Python中重要的控制流语句,其简洁而强大的功能使得在处理重复任务时变得高效而灵活。通过掌握while循环的精髓,我们能够在编程中更加自如地结合break和continue控制程序的执行流程,提升代码的质量和效率。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安科瑞汽车充电桩防火限流式保护器灭弧保护

充电桩防火限流式保护器 短路过载保护 充电桩防火限流式保护器 短路过载保护可有效克服传统断路器、空气开关和监控设备存在的短路电流大、切断短路电流时间长、短路时产生的电弧火花大&#xff0c;以及使用寿命短等弊端&#xff0c;发生短路故障时&#xff0c;能以微秒级速度…

软件工程期末复习(5)可行性研究

可行性研究 可行性研究的任务 可行性研究的目的&#xff1a; 用最小的代价&#xff0c;在尽可能短的时间内确定问题是否能够解决。 可行性研究的实质&#xff1a; 就是一次压缩、简化了的系统分析和设计的过程。 可行性研究的路线&#xff1a; 分析和澄清问题定义&#…

​学者观察 | 从区块链应用创新看长安链发展——CCF区块链专委会荣誉主任斯雪明

导语 2024年1月27日&#xff0c;斯雪明教授在长安链发布三周年庆暨生态年会上发表演讲&#xff0c;认为在区块链发展过程中&#xff0c;不仅需要技术创新&#xff0c;同时需要有价值、有特色、有示范意义的应用创新。斯雪明教授介绍了国内区块链技术与应用发展的现状、趋势与挑…

1721jsp网上银行管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 网上银行管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;…

官宣:极海G32A1445汽车通用MCU通过TÜV莱茵ISO 26262 ASIL-B功能安全产品认证

2024年5月16日&#xff0c;极海宣布G32A1445汽车通用MCU正式通过德国TV莱茵ISO 26262 ASIL-B功能安全产品认证。 德国TV莱茵大中华区工业服务与信息安全总经理赵斌先生、德国莱茵TV助理大客户经理詹丽龙女士&#xff0c;珠海极海半导体有限公司总经理汪栋杰先生、副总经理曾豪…

如何检查 Linux 服务器是否遭受 DDoS 攻击

1. 写在前面 DDoS&#xff08;Distributed Denial-of-Service&#xff09;攻击是最常见的服务器安全威胁之一&#xff0c;攻击频率和强度逐年稳步上升。本文主要介绍如何通过资源监控和及时采取一些措施来缓解 DDos 攻击。 2. 什么是 DDoS 攻击&#xff1f; DDoS 是一种恶意…

安装和使用图像处理软件GraphicsMagick @FreeBSD

GraphicsMagick是一个用于处理图像的读取、写入和操作的工具软件。它被誉为图像处理领域的“瑞士军刀”&#xff0c;短小精悍&#xff0c;支持超过88种图像格式&#xff0c;包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF等。 GraphicsMagick的主要特点包括&#xff1a;…

【Java基础】集合(1) —— Collection

存储不同类型的对象: Object[] arrnew object[5];数组的长度是固定的, 添加或删除数据比较耗时 集合: Object[] toArray可以存储不同类型的对象随着存储的对象的增加&#xff0c;会自动的扩容集合提供了非常丰富的方法&#xff0c;便于操纵集合相当于容器&#xff0c;可以存储多…

echarts 图表tooltip扩展(适配移动端)

2024.5.16今天我学习了如何对echarts 图表tooltip进行自定义设置&#xff0c;效果如&#xff1a; 如果是日维度&#xff0c;需要展示对应的星期&#xff0c;以及用移动端去查看这个图表提示要显示在整个图表内&#xff0c;如果没有设置position会溢出图表&#xff0c;通用写法代…

OpenHarmony标准设备应用开发(二)——布局、动画与音乐

本章是 OpenHarmony 标准设备应用开发的第二篇文章。我们通过知识体系新开发的几个基于 OpenHarmony3.1 Beta 标准系统的样例&#xff1a;分布式音乐播放、传炸弹、购物车等样例&#xff0c;分别介绍下音乐播放、显示动画、动画转场&#xff08;页面间转场&#xff09;三个进阶…

.NET 分享一款Web打包和解压缩工具

01本文概要 在.NET部署环境中&#xff0c;利用IIS中间件开启对ASP的支持&#xff0c;可以实现许多强大的文件操作功能。特别是在一些需要进行预编译的情况下&#xff0c;通过上传ASP脚本&#xff0c;可以获得WebShell&#xff0c;从而方便地进行各种操作。本文将介绍一个名为S…

一文搞懂车载系统开发学习路线

前言 随着汽车技术的快速发展和智能化趋势的加强&#xff0c;车载信息娱乐系统已经成为现代汽车不可或缺的一部分。因此&#xff0c;车载软件市场正在迅速增长&#xff0c;这为Android应用开发提供了新的机会。恰好近年来大环境不是很理想&#xff0c;车载开发不失为Android应…

概率论统计——大数定律

大数定律 弱大数定律&#xff08;辛钦大数定律&#xff09; 利用切比雪夫不等式&#xff0c;证明弱大数定律 应用 伯努利大数定理&#xff0c;&#xff08;辛钦大数定理的推论&#xff09; 证明伯努利大数定理 注意&#xff1a;这里将二项分布转化成0,1分布来表示&#xff0c;…

电能表抄表软件是什么?

1.电能表抄表软件简述 电能表抄表软件是当代电力系统中不可或缺的一部分&#xff0c;它通过大数据技术性完成了远程控制抄表、数据库管理及其电费测算等服务&#xff0c;大大提高了工作效能并降低了人为失误。这类软件的诞生&#xff0c;促使供电公司可以实时监控系统与分析电…

【Uniapp】图片修复对比组件

效果图 不废话&#xff0c;直接上源码&#xff01; 组件直接用 <template><viewclass"img-comparison-container":style"width: width rpx;height: height rpx"><view class"before-image" :style"width: x rpx&quo…

【MATLAB】fminsearchbnd()函数安装包下载

fminsearchbnd()函数 链接&#xff1a;https://pan.baidu.com/s/1apc6_f92rDnV_NwHpZZpDQ?pwdxul8 提取码&#xff1a;xul8 fminsearchbnd, fminsearchcon - File Exchange - MATLAB Central (mathworks.cn) 若链接失效&#xff0c;可以自行注册下载&#xff0c;操作也很简…

一键解锁!贸易行业实现银行与财务系统秒级对接,效率飙升!

客户介绍 某贸易有限公司是一家实力雄厚的工贸一体跨国集团企业。作为行业内的佼佼者&#xff0c;该公司以出口家纺产品和生产销售建材洁具为核心业务。公司始终坚持以市场为导向&#xff0c;不断创新和优化产品和服务&#xff0c;以满足不断变化的市场需求。 客户痛点 以往&…

文本三剑客-awk

一、awk的介绍 1.1awk的简介 AWK 是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具 可以在无交互的模式下实现复杂的文本操作 相较于sed常作用于一整个行的处理&#xff0c;awk则比较倾向于一行当中分成数个字段来处理&#xff0c;因为awk相当适合小型的文本…

Winform自定义控件 —— 开关

在开始阅读本文之前&#xff0c;如果您有学习创建自定义控件库并在其他项目中引用的需求&#xff0c;请参考&#xff1a;在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用https://blog.csdn.net/YMGogre/article/details/126508042 0、引言 由于 Winform 框架并…

C++ 程序员常用的VScode的插件

vscode中好用的插件 Better CommentsBookmarksC/C ThemeChinese (Simplified) (简体中文) Language Pack for Visual Studio CodeclangdClang-FormatCodeLLDBCMakeCMake ToolsCode RunnerCode Spell CheckerCodeSnapColor Highlightvscode-mindmapDraw.io IntegrationError Len…