Python基础第十一讲:详细说一下 Python 的 while循环

在上一篇文章中,我们介绍了 Python 三大控制结构
【小白学 Python】吃了一顿火锅,学会了 Python 三大核心控制结构:小心看饿了
今天,我们接着看一下 while 循环
Python提供了另一种循环模式即无限循环,不需要提前知道循环次数,
那就是while循环。
while循环一直执行,指导制定的条件不满足为止。
语法:
while 条件:语句组11. 循环也是以冒号(:)结尾2. 条件为各种算术表达式,a) 当为真时,语句组1被重复执行b) 当为假时,停止执行语句组13. 如果循环体忘记累计,条件判断一直为真,则为死循环。循环体一直实行。a) 死循环有时候经常被用来构建无限循环b) 此时,可以使用ctrl+c终止,或者停止IDE

来看一个例子:
# 构造计数器,记录5次print('使用while循环构造计数器,并且记录5次')count_number = 0while count_number < 5:print(f'\t当前数字是 {count_number}')count_number += 1使用while循环构造计数器,并且记录5次当前数字是 0当前数字是 1当前数字是 2当前数字是 3当前数字是 4
为了更好的体验,程序有时候使用用户输入。
在 Python 中使用函数 input() 让程序暂停工作,等待用户输入后接着执行。
当使用该函数时,一定要给出清晰而易于明白的指示,否则用户不知道要输入什么内容。
例子# 计算任意数的和, 并计算出平均数sum = 0.0count = 0more_number = "yes"while "y" in more_number:# 使用y判断是否继续number =int(input("请输入一个数字:"))sum = sum + numbercount = count + 1more_number = input("还想接着输入数字吗?(y or n)?")print("\n你输入的所有数字的平均值是:", sum / count)请输入一个数字:1还想接着输入数字吗?(y or n)?y请输入一个数字:2还想接着输入数字吗?(y or n)?y请输入一个数字:3还想接着输入数字吗?(y or n)?n你输入的所有数字的平均值是:2.0
break与continue语句可以在循环结构中使用,比如for,while。
break语句是立即退出while循环,不再运行循环中余下的代码,也不管条件判断的结果是否为真。
break语句经常被用来控制程序执行流,也就是控制哪些代码可以执行,哪些代码不执行。
continue语句是结束本次循环,返回到while语句开始的位置,接着条件判断。
如果为真,程序接着执行,否则退出。也就是当循环或判断执行到continue语句时,continue后的语句将不再执行,会跳出当次循环,继续执行循环中的下一次循环
两者的区别是:
continue 语句跳出本次循环,只跳过本次循环continue后的语句
break 语句跳出整个循环体,循环体中未执行的循环将不会执行
例子
# 点名系统,一共100个人。当数到50的时候,提示以下;当数到60时,停止报数for i in range(101):if i == 50:print(f'你是第{i}名,请接着报数......')continue# 如果是第60个人,则停止循环if i == 60:print(f'你是第{i}名,停止报数!')break你是第50名,请接着报数......你是第60名,停止报数!
列表和字典可以存储大量信息。
for循环可以遍历其每一个元素或者键值对,但是我们不建议在for循环修改其值,否则导致Python不能正常运行;
如果遍历列表或字典的同时,修改其值,我们推荐使用while循环。
例子1 :while操作列表
'''《甄嬛传》之选秀1。首先创建一个秀女列表,其中魏璎珞不是参选秀女2。再创建一个空的列表,用来收集已经选中的秀女整个过程需要修改列表的元素'''xiu_nu = ['魏璎珞','甄嬛','安陵容','沈眉庄','夏春']ru_xuan = []# 使用while循环选择秀女,直到选择结束# 把选中的修女收集起来,未选中的删除while xiu_nu:kaoshi_xuanyu = xiu_nu.pop()print(f"正在参加选秀的修女是:{kaoshi_xuanyu}")if '魏璎珞' in kaoshi_xuanyu:print(f'\t{kaoshi_xuanyu}不能参加本次选秀')else:print('\t恭喜 {} 入选'.format(kaoshi_xuanyu))ru_xuan.append(kaoshi_xuanyu)# 打印所有选中的秀女print('以下是选中的秀女人员名单:')for index in ru_xuan:print('\t'+index.title())正在参加选秀的修女是:夏春恭喜夏春入选正在参加选秀的修女是:沈眉庄恭喜沈眉庄入选正在参加选秀的修女是:安陵容恭喜安陵容入选正在参加选秀的修女是:甄嬛恭喜甄嬛入选正在参加选秀的修女是:魏璎珞魏璎珞不能参加本次选秀以下是选中的秀女人员名单:夏春沈眉庄安陵容甄嬛
再看一个例子:例子2: while操作字典
'''观众最喜欢的电视剧问卷调查'''# 构建空的字典,存放调查结果favorite_television = {}while 1:# 构建一个无限循环your_name= input("请输入你最喜欢的电视剧明星的名字:")favorite_televisions = input("请输入你最喜欢的他/她演过的电视剧名字:")favorite_television[your_name] = favorite_televisionsanother = input("是否还有人参与调查。如果输入yes,继续,否则停止:")if another != 'yes':break# 结束调查,打印结果print("观众最喜爱的电视剧问卷调查情况:")for key,value in favorite_television.items():print(f'观众最喜欢的电视明星有:{key}。观众最喜欢的他/她演过的电视剧是 {value}.')请输入你最喜欢的电视剧明星的名字:刘德华请输入你最喜欢的他/她演过的电视剧名字:鹿鼎记是否还有人参与调查。如果输入yes,继续,否则停止:yes请输入你最喜欢的电视剧明星的名字:杨幂请输入你最喜欢的他/她演过的电视剧名字:扶摇是否还有人参与调查。如果输入yes,继续,否则停止:yes请输入你最喜欢的电视剧明星的名字:秦岚请输入你最喜欢的他/她演过的电视剧名字:延禧攻略是否还有人参与调查。如果输入yes,继续,否则停止:no观众最喜爱的电视剧问卷调查情况:观众最喜欢的电视明星有:刘德华。观众最喜欢的他/她演过的电视剧是鹿鼎记.观众最喜欢的电视明星有:杨幂。观众最喜欢的他/她演过的电视剧是扶摇.观众最喜欢的电视明星有:秦岚。观众最喜欢的他/她演过的电视剧是延禧攻略.
以上就是 Python的循环结构。希望您能有所收获。
如果有问题,可以后台或留言讨论哦!
【提高】40多个项目实战,老手可以从真实场景中学习python;
【直播】不定期直播项目案例讲解,手把手教你如何分析项目;
【分享】优质python学习资料分享,让你在最短时间获得有价值的学习资源;圈友优质资料或学习分享,会不时给予赞赏支持,希望每个优质圈友既能赚回加入费用,也能快速成长,并享受分享与帮助他人的乐趣。
【人脉】收获一群志同道合的朋友,并且都是python从业者
【价格】本着布道思想,只需 69元 加入一个能保证学习效果的良心圈子。
评论
