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中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python实现逻辑回归的方法示例
May 02 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
python截取两个单词之间的内容方法
Dec 25 Python
Django框架中间件(Middleware)用法实例分析
May 24 Python
关于Tensorflow分布式并行策略
Feb 03 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Django中modelform组件实例用法总结
Feb 10 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
浅析python实现动态规划背包问题
Dec 31 Python
python uuid生成唯一id或str的最简单案例
Jan 13 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
PHP网站基础优化方法小结
2008/09/29 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
js实现分页功能
2017/05/24 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
Python线程中对join方法的运用的教程
2015/04/09 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python实现简单爬虫功能的示例
2016/10/24 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python 实现二维列表转置
2019/12/02 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
Python 从attribute到property详解
2020/03/05 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
求职自荐信格式
2013/12/04 职场文书
运动会通讯稿150字
2014/02/15 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
节约电力资源的建议书
2014/03/12 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL