Python入门_浅谈for循环、while循环


Posted in Python onMay 16, 2017

Python中有两种循环,分别为:for循环和while循环。

1. for循环

for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:

Python入门_浅谈for循环、while循环

具体看这个案例:

设计一个函数,在桌面创建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循环是在条件不成立时停止。

Python入门_浅谈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入门_浅谈for循环、while循环就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
进一步理解Python中的函数编程
Apr 13 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
一文带你了解Python中的字符串是什么
Nov 20 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
vue常用指令代码实例总结
Mar 16 Python
python 常见的反爬虫策略
Sep 27 Python
Python入门_浅谈数据结构的4种基本类型
May 16 #Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 #Python
python将ansible配置转为json格式实例代码
May 15 #Python
用Python设计一个经典小游戏
May 15 #Python
Python 对象中的数据类型
May 13 #Python
Python中matplotlib中文乱码解决办法
May 12 #Python
使用Python对Csv文件操作实例代码
May 12 #Python
You might like
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
详解YII关联查询
2016/01/10 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
使用python在本地电脑上快速处理数据
2017/06/22 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python单例模式的多种实现方法
2019/07/26 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
通信专业个人自我鉴定
2013/10/21 职场文书
思想汇报格式
2014/01/05 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
停车场管理制度范本
2015/08/05 职场文书
护士岗位竞聘书
2015/09/15 职场文书
新党员入党决心书
2015/09/22 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技