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 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python实现扩展内置类型的方法分析
Oct 16 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
numpy中索引和切片详解
Dec 15 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
python 显示数组全部元素的方法
Apr 19 Python
django中静态文件配置static的方法
May 20 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
详解python配置虚拟环境
Apr 08 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
python实现快速文件格式批量转换的方法
Oct 16 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递归调用的小技巧讲解
2013/02/19 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PHP goto语句用法实例
2019/08/06 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
js 方法实现返回多个数据的代码
2009/04/30 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
python 5个顶级异步框架推荐
2020/09/09 Python
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
大学三年的自我评价
2013/12/25 职场文书
学校大课间活动方案
2014/01/30 职场文书
房产代理公证处委托书
2014/04/04 职场文书
个人廉洁自律总结
2015/03/06 职场文书
经典爱情感言
2015/08/03 职场文书
升职自荐书
2019/05/09 职场文书
python高温预警数据获取实例
2022/07/23 Python