python while循环语句-谈谈Python中的while循环语句
前言
python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组。
循环里面还有两个比较重要的关键字,continue和break,continue的意思是,跳出本次循环,继续重头开始循环,break的意思是停止整个循环,也就是说在continue和break下面的代码都是不执行的。
for 循环用于集合,其中的每一个元素都会执行同一段代码块; 而 while 循环会不断地运行同一段代码块, 直到不满足指定的条件为止。
1 示例
我们使用 while 循环语句,设计一个小游戏。让玩家输入一个数字,程序将告诉他,这个数是奇数,还是偶数:
# 输入提示
prompt = '输入一个数字,我将告诉你,它是奇数,还是偶数哦O(∩_∩)O~'
prompt += ' 输入“不玩了”,将退出本程序: '
exit = '不玩了' # 退出指令
content = '' #输入内容
while content != exit:
content = input(prompt)
if content.isdigit():
number = int(content)
if (number % 2 == 0):
print('该数是偶数')
else:
print('该数是奇数')
elif content != exit:
print('输入的必须是数字哦')
运行结果:
我们在这段程序中,定义了一个退出指令, 只要玩家输入的不是这个指令, 程序就会一直运行。
2 活动状态标识
真实的游戏场景,可能有很多情况都会导致游戏结束。这时我们可以定义一个活动状态标识,用于判断整个程序是否处于活动状态。
我们来改写之前的示例:
prompt = '输入一个数字,我将告诉你,它是奇数,还是偶数哦O(∩_∩)O~'
prompt += ' 输入“不玩了”,将退出本程序: '
exit = '不玩了' # 退出指令
content = '' # 输入内容
active = True # 活动状态标识
while active:
content = input(prompt)
if content.isdigit():
number = int(content)
if (number % 2 == 0):
print('该数是偶数')
else:
print('该数是奇数')
elif content == exit:
active = False
else:
print('输入的必须是数字哦')
改写后,程序逻辑变得更清晰咯O(∩_∩)O~
在复杂的程序中, 可能存在很多事件都会导致程序停止。这时,设计一个活动状态标识就很有用: 其中的任何一个事件发生时,把活动状态标识设置为 False, 主程序循环结束。
3 break 关键字
使用 break 关键字,可以立即退出while 循环。
...
while active:
content = input(prompt)
if content.isdigit():
...
elif content == exit:
break
else:
...
4 continue 关键字
使用 continue 关键字,可以直接返回到循环的开头, 然后根据 while 条件测试结果来决定是否继续执行下一次循环。
while active:
content = input(prompt)
if content.isdigit():
number = int(content)
if (number % 2 == 0):
print('该数是偶数')
else:
continue
elif content == exit:
break
else:
print('输入的必须是数字哦')
这个改写后的示例,将只会打印偶数;如果碰到奇数,则直接跳到下一个循环。
5 无限循环
每个 while 循环都必须有一条停止运行的条件,否则就会无限循环执行下去。如果程序不小心陷入无限循环, 那么就必须按 Ctrl + C , 或关闭显示程序输出的终端窗口,来强行停止程序。
6 处理列表
可以使用 while 循环,在遍历列表的同时对其进行修改。而这在 for 循环中,就不可以一边遍历一边修改。
6.1 迁移列表元素
to_go_countries = ['英国', '法国', '美国'] # 想去的国家
visited_countries = [] # 已去的国家
while to_go_countries:
country = to_go_countries.pop()
print('准备去【' + country+'】')
print('【1】做攻略')
print('【2】出发')
print('【3】回来咯')
visited_countries.append(country)
print('to_go_countries:'+str(to_go_countries))
print('这些国家去过啦:' + str(visited_countries))
运行结果:
代码中,使用 pop() 方法弹出栈顶元素(即列表末尾的最后一个元素),并返回这个元素。
可以看到,【 想去的国家列表】在退出 while 循环之后,已经被弹空啦O(∩_∩)O~
6.2 删除列表元素
假设,目前有这些菜可点,但今天突然不想吃 “炸豆腐”,我们就可以这些写:
foods = ['拌海蜇', '炝冬笋', '炸豆腐', '炸面筋', '麻辣野鸡', '炒肉片']
while '炸豆腐' in foods:
foods.remove('炸豆腐')
print('foods=' + str(foods))
运行结果:
foods=['拌海蜇', '炝冬笋', '炸面筋', '麻辣野鸡', '炒肉片']
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
python while循环语句-谈谈Python中的while循环语句相关推荐
- pythonfor循环语句例子_Python中的for循环语句
for循环 for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目. 使用for语句 案例: fori inrange(1,5):print(i)else:print( ...
- python中for循环流程图_Python编程中的for循环语句学习教程
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) ...
- python索引例子_谈谈python中的索引
最近以python为工具,取代VBA处理工作中Excel遇到的小问题,我觉得其优点:一是语言更清爽友善,因为VBA的语言一来IDE难用,语法风格不大气优雅(我个人的见解):二是,我一直怀疑Excel对 ...
- python种颜色循环_python – 重置Matplotlib中的颜色循环
您可以使用Axes.set_color_cycle将颜色循环重置为原始颜色.查看此代码,可以执行实际工作: def set_color_cycle(self, clist=None): if clis ...
- python是不是特别垃圾-谈谈python垃圾回收机制
什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回收起来. 在坐的各位都没有女朋友对吧,那难以想象你们的房间会是一个什么样子,可能会有很多垃圾,很凌乱,自己也不收拾. ...
- python 其他语言_谈谈Python和其他语言的区别
Python属于解释型语言,当程序运行时,是一行一行的解释,并运行,所以调式代码很方便,开发效率高, 还有龟叔给Python定位是任其自由发展.优雅.明确.简单,所以在每个领域都有建树,所有它有着非常 ...
- c语言输入循环语句,C语言中输入输出和循环语句详解.ppt
C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...
- java for循环返回值_Java中的for循环——通过示例学习Java编程(9)
作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件为止 ...
- java中无限循环的方法_Java中的无限循环
Java中的无限循环 在Java中查看下面的无限while循环. 它会导致它下面的语句编译时错误. while(true) { System.out.println("inside whil ...
- oracle查大事务语句,查询Oracle 中死事务的语句
查询Oracle 中死事务的语句 SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */ 2 KTUXESTA Statu ...
最新文章
- 酷讯出来的张一鸣为什么做了新闻不是旅游?
- PTP NTP kernel 驱动讲解 (未完待续)
- 预处理指令的开始和结束
- Android 启动分析 1
- 大数据WEB阶段 (六)MySql详解(一)
- Java程序员需要掌握的计算机底层知识(二):操作系统、内核、用户态与内核态、系统调用的执行过程
- HBase的布隆过滤器详解
- 你的心事我全知晓——心情日记小程序丨实战
- ipmitool 设置网关_IPMI 接口配置
- 秒表设计实验报告C语言,电子秒表设计实验报告
- SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
- mysql初始化实例报错_初始化 mysql时报错
- css3 rem的用法
- Seoer,牵起用户与搜索引擎双手的魔术师
- Android PopupWindow的简单说明
- 进销存软件网络版连接不上,如何设置IP地址
- 明日之后在同一个服务器找不到人,明日之后怎么跨区加好友 看这里
- Quill富文本的使用以及自定义图片和视频处理事件
- chatgpt可以降重论文吗-chatgpt降重论文软件
- 信息科学学术论文常用词汇
热门文章
- 本人常用的一些编码小Tips(虽然不多,但很好用)
- SpringMVC 国际化
- 流行的9个Java框架介绍: 优点、缺点等等
- 40个方法优化你的PHP
- 在Windows7 (SP1)配置IIS7.5 + .Net Framework 4.0.30319
- 解决java web项目导入后出现的问题 ---cannot be read or is not a valid ZIP file
- Debian与《玩具总动员》
- Mybatis 查询小技巧
- JavaWeb学习笔记28--Filter高级开发
- php将科学计算法得出的结果转换成原始数据