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 05 Python
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
Python实现滑动平均(Moving Average)的例子
Aug 24 Python
pycharm修改file type方式
Nov 19 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
python爬取天气数据的实例详解
Nov 20 Python
Python制作简单的剪刀石头布游戏
Dec 10 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 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
PHP中ADODB类详解
2008/03/25 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
python使用scrapy解析js示例
2014/01/23 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
如何打开WebSphere远程debug
2014/10/10 面试题
企业文明单位申报材料
2014/05/16 职场文书
市场营销策划方案
2014/06/11 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
男人帮观后感
2015/06/18 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android