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
猜你喜欢
- 方法一:def commaSpiltList(self, listData): listData = list(listData) strs
- 这篇文章主要介绍了python线程join方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 之前总结过flask里的基础知识,现在来总结下flask里的前后端数据交互的知识,这里用的是Ajax一、 post方法1、post方法的位置
- 总结类的定义很久以前,语言都是面向过程的,经过计算机科学家的探索,出现了面向对象。面向对象可以解释生活中很多东西。比如人,人就是个对象,有参
- <?php//===============================时间日期=========================
- 本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能。分享给大家供大家参考,具体如下:使用Scrapy爬虫抓取英雄联盟高清桌面壁纸源
- 任何数据库系统都无法避免崩溃的状况,即使你使用了Clustered,双机热备等等,仍然无法完全根除系统中的单点故障,何况对于大部分用户来说,
- 今天做了一个很简单的小项目,感受到了paramiko模块的强大,也深感自己Linux的功力不行~~一、需求二、简单需求分析及流程图需求很少,
- jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。到目前为之jQuery已经发布到1.2
- Python包导入报错的问题首先,一般来说,写一个小demo可能一个文件就够了,但是要是做一个小项目,可能需要拆分成很多零散的文件,放在不同
- 模块化分页1.查询语句块<% 取得当前文件名 temp = Split(request.ServerV
- overflow:hidden 用在div上时很好用,但直接用在td上,好像没有任何效果。td中的文本过长时依然自动换了一行像下面这要设定一
- PIL 图片操作读取图片img = Image.open(“a.jpg”)显示图片im.show() # im是Image对象,im是num
- 一.Jupyter介绍Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言。Jupyter Notebook 的本质
- 这篇文章主要介绍了python检测服务器端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 简介Closure所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭
- 本文研究的主要是Django权限机制的相关内容,具体如下。1. Django权限机制概述权限机制能够约束用户行为,控制页面的显示内容,也能使
- 一、垃圾还是经典网页技术更新很快,一个网站的界面设计寿命仅仅2-3年而已。不管是垃圾还是精品,都没有所谓的经典。经典只存在于是哪个首次成功创
- 上一章节我们学习了如何生成 word 文档以及在文档行中添加各种内容,今天我们基于上一章节的内容进行添砖加瓦 —>
- 流动网页设计有很多好处,但也只有在正确使用的时候。合适的技巧会使页面在大屏幕、小屏幕抑、PDA小屏幕上都能得到良好的呈现。但是,糟糕的代码结