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下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
Python3 Random模块代码详解
Dec 04 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
Jan 10 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
解读python如何实现决策树算法
Oct 11 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
Python -m参数原理及使用方法解析
Aug 21 Python
Python判断变量是否是None写法代码实例
Oct 09 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
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python矩阵常见运算操作实例总结
2017/09/29 Python
python数据封装json格式数据
2018/03/04 Python
python 接口返回的json字符串实例
2018/03/27 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
项目合作意向书范本
2014/04/01 职场文书
啦啦队口号大全
2014/06/16 职场文书
市场营销毕业求职信
2014/08/07 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
学校师德师风整改方案
2014/10/28 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
患者身份识别制度
2015/08/06 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript