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实现自动更换ip的方法
May 05 Python
使用Python判断质数(素数)的简单方法讲解
May 05 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
python中remove函数的踩坑记录
Jan 04 Python
pandas 操作 Excel操作总结
Mar 31 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实现网上点歌(二)
2006/10/09 PHP
分享PHP入门的学习方法
2007/01/02 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
Symfony生成二维码的方法
2016/02/04 PHP
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
使用python实现ANN
2017/12/20 Python
python文本数据相似度的度量
2018/03/12 Python
python pyheatmap包绘制热力图
2018/11/09 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python常用的json标准库
2019/02/19 Python
详解django2中关于时间处理策略
2019/03/06 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
活动总结模板
2014/05/09 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python