Python入门_浅谈for循环、while循环
作者:jingxian 发布时间:2021-02-07 13:17:23
Python中有两种循环,分别为:for循环和while循环。
1. for循环
for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:
具体看这个案例:
设计一个函数,在桌面创建10个文本,用数字从1-10依次给它们命名。
def text_create():
path = '/Users/duwangdan/Desktop/'
for text_name in range(1,11):
# 1-10的范围需要用到range函数
with open (path + str(text_name) + '.txt','w') as text:
# with...as的用法正文内会详细介绍
text.write(str(text_name))
text.close()
print('Done')
text_create()
现在我们来理解下每行代码。
第1行:定义一个text_create函数;
第2行:给变量path赋值为桌面路径;
第3行:将1-10范围内的每个数字依次装入变量text_name中,每次命名一个文件;
第5行:打开位于桌面的txt文件,并给每一个text执行写入操作;
第7行:给每个文件依次命名;
第8行:关闭文件;
第9行:执行完一次命名操作后显示一个Done;
第11行:调用函数。
案例中提到了“with...as”,在Python中,“with...as”语法是用来代替传统的“try...finally”的。
比如:打开桌面的test文件,尝试读取文件内容,最后关闭文件。
1 file = open('/Users/duwangdan/Desktop/test.txt')
2 try:
3 data = file.read()
4 finally:
5 file.close()
虽然这段代码执行良好,但比较冗长,换成用“with...as”来表达后,代码会更为简洁。
1 with open('/Users/duwangdan/Desktop/test.txt') as file:
2 data = file.read()
除了上面的单层循环之外,还有一种常见的循环,是嵌套循环。
比如用嵌套循环实现九九乘法口诀。
1 for i in range(1,10):
2 for j in range(1,10):
3 print('{} X {} = {}'.format(i,j,i*j))
最外层的循环,依次将1-9的数字储存在变量i中;变量i每取一次值,内层循环就依次将1-9的数字储存在变量j中;最后打印出当前的i、j、和i*j的值。
从Python2.6开始,新增了format函数,用来格式化字符串,可以通过{}.format来实现。在上面这个案例中,将i、j、i*j的值分别存入前面的{ }中,然后做好格式化,统一形式。
2. while循环
for循环和while循环,两者的相同点在于都能循环做一件重复的事情;不同点在于,for循环是在序列穷尽时停止,while循环是在条件不成立时停止。
具体,看下面这个例子:
1 count = 0
2 while True:
3 print('重复一遍')
4 count = count + 1
5 if count == 3:
6 break
给变量count赋值为0,while True就是条件成立,显示“重复一遍”,此时count被重新赋值为count+1,如果count等于3时,跳出循环。最后一句的break是跳出最近一层的循环,如果不跳出,程序会无限制循环下去,造成死循环。
如果不想用break来跳出循环,也可以改变使循环成立的条件。
将上面的例子可转化为如下:
1 count = 0
2 while (count < 3):
3 print('重复一遍')
4 count = count + 1
到这里,关于逻辑判断到循环的内容已经全部结束,后面会做下小练习,是几乎大家都玩过的一个小游戏:猜大小。
操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac


猜你喜欢
- 前言面对计算密集型的任务,除了多进程,就是分布式计算,如何用 Python 实现分布式计算呢?今天分享一个很简单的方法,那就是借助于 Ray
- 本文实例为大家分享了javascript实现tab切换特效代码,供大家参考,具体内容如下效果图:实现代码:<!DOCTYPE html
- 使用conda和pip批量安装Python包在debug Yolov5之前,需要按照其txt文件中指定的包的版本来指定安装工程需要的Pyth
- 本文为大家分享了微信小程序实现留言板的具体实现方法,供大家参考,具体内容如下先说一下小程序的开发环境之类的基础东西1.到微信公众平台下载开发
- 本文实例讲述了php指定长度分割字符串str_split函数用法。分享给大家供大家参考,具体如下:示例1:$str = 'abcde
- BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。EOF 指示当前记录位置位于 Recordset 对象的最后一个记录
- 接管Dingo-api的错误如上图所示,AppServiceProvider.php中的register()方法中添加如下代码\API::e
- Display SQL Server Login Mode. Supported Plat
- 自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析。本文是用Python写的
- 本文为官方文档译文,官方文档现已非机器翻译 https://docs.microsoft.com/zh-cn/aspnet/core/fun
- 同一进程下的多个线程共享内存数据,多个线程之间没有主次关系,相互之间可以操作;cpu执行的都是线程,默认程序会开一个主线程;进程是程序以及和
- 设置密码保护SqlServer数据库备份文件! 备份SqlServer数据库 Backup Database [数据库] To disk=&
- 前言:索引下推(ICP)是针对MySQL使用索引从表中检索数据行的情况的优在没有索引下推的情况下,MySQL通过存储引擎遍历索引来定位表中的
- python刷CSDN访问量import requestsimport reimport timepayload = ""
- 1. views.py定义views视图函数,将数据存入字典。并用压缩为json格式,dumps,并return。import jsonde
- 喜欢Gucci的优雅吗?或者痴迷美国普普艺术?谷歌中国最近改版的谷歌个性化首页iGoogle集中了近1500个主题,包括近120多位全球顶级
- 查询微信里的一些精选的,点击量比较大的文章。 别忘记申请apikey(登录百度账号即可获取),要完成的功能是:1、用户回复&quo
- 首先有一段以下结构体的定义type User struct {UserName stringUserId int `name:
- 本文实例讲述了python求解水仙花数的方法。分享给大家供大家参考。具体如下:一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于
- 使用ktl工具实现mysql向mysql同步数据1.新建作业步骤2.完善作业步骤,主要是完成作业中的转换工作3.首先要确定数据来源库,也就是