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系列之教你如何根据图片生成字符画
May 23 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
python实现音乐下载的统计
Jun 20 Python
numpy中的ndarray方法和属性详解
May 27 Python
Python:type、object、class与内置类型实例
Dec 25 Python
windows下python安装pip方法详解
Feb 10 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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操作xml入门之xml标签的属性分析
2015/01/23 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
VueJS全面解析
2016/11/10 Javascript
React快速入门教程
2017/01/17 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
Django的models中on_delete参数详解
2019/07/16 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
python 实现IP子网计算
2021/02/18 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
安全生产管理责任书
2014/04/16 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
五四青年节演讲稿
2014/05/26 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android