Python中有两种循环,分别为:for循环和while循环。

1. for循环

for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:

具体看这个案例:

设计一个函数,在桌面创建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文件,尝试读取文件内容,最后关闭文件。

 file = open('/Users/duwangdan/Desktop/test.txt')
 try:
     data = file.read()
 finally:
     file.close()

虽然这段代码执行良好,但比较冗长,换成用“with...as”来表达后,代码会更为简洁。

 with open('/Users/duwangdan/Desktop/test.txt') as file:
     data = file.read()

除了上面的单层循环之外,还有一种常见的循环,是嵌套循环

比如用嵌套循环实现九九乘法口诀。

 for i in range(1,10):
     for j in range(1,10):
         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循环是在条件不成立时停止。

具体,看下面这个例子:

 count = 0
 while True:
     print('重复一遍')
     count = count + 1
     if count == 3:
         break

给变量count赋值为0,while True就是条件成立,显示“重复一遍”,此时count被重新赋值为count+1,如果count等于3时,跳出循环。最后一句的break是跳出最近一层的循环,如果不跳出,程序会无限制循环下去,造成死循环。

如果不想用break来跳出循环,也可以改变使循环成立的条件。

将上面的例子可转化为如下:

 count = 0
 while (count < 3):
     print('重复一遍')
     count = count + 1

到这里,关于逻辑判断到循环的内容已经全部结束,后面会做下小练习,是几乎大家都玩过的一个小游戏:猜大小。

操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac

-----   End   -----

作者:杜王丹,微信公众号:杜王丹,互联网产品经理。

产品经理学Python:for循环、while循环的更多相关文章

  1. 产品经理学Python:参数传递方式

    这是关于Python的第5篇文章,主要介绍下参数传递方式和如何设计自己的函数. (一) 本篇主要介绍2种参数传递方式. 位置参数 调用函数时,根据函数定义的参数位置来传递参数. def right_t ...

  2. 产品经理学Python:条件控制

    条件控制其实就是if...else...(如果...条件是成立的,就做...:反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login(): # 定义函数 p ...

  3. 产品经理学Python:逻辑判断与运算符

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  4. Python入门:for循环、while循环

    Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的 ...

  5. Python之 continue继续循环和多重循环

    Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环. 假设我们已经写好了利用for循环计算平均分的代码: L ...

  6. Python 如何跳出多重循环

    Python 如何跳出多重循环 抛异常 return

  7. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  8. python流程控制语句 for循环 - 1

    Python中for循环语句是通过遍历某一序列对象(元组.列表.字典等)来构建循环,循环结束的条件就是遍历对象完成. 语法形式: for <循环变量> in <遍历对象>: & ...

  9. 【Python学习笔记】循环和迭代

    for和while基本语法 break和continue else的使用 enumerate和zip在循环中的应用 for和while基本语法 Python中的的循环使用for和while语句来实现, ...

随机推荐

  1. Struts2之标签使用

    上一篇我们一起探讨了Struts2中的OGNL表达式的知识,本篇我们一起来学习一下关于Struts2标签的使用,包括:基础标签:property.set.bean.include:判断标签:if el ...

  2. 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  3. extern “ C”的含义

    见博客:http://www.cnblogs.com/xulei/archive/2006/11/12/558139.html

  4. MVC学习笔记1-MVC家族间的区别

    ASP.NET下的MVC从原始的1.0走到2.0,再到3.0,现在走到4.0,也许明年5.0就问世了,先不管那些,那说说这些MVC在ASP.NET是如何变化发展的.对于.net编程人员来说可能会很熟悉 ...

  5. 第一章:shiro简介

    1.1 简介 Apache Shiro是java的一个安全框架,相当简单,没有Spring Security功能强大,但是实际工作中大多使用shiro就够了.可以帮助我们完成:认证,授权,加密,会话管 ...

  6. 学习Redux之分析Redux核心代码分析

    1. React,Flux简单介绍 学习React我们知道,React自带View和Controller库,因此,实现过程中不需要其他任何库,也可以独立开发应用.但是,随着应用程序规模的增大,其需要控 ...

  7. 老李分享:持续集成学好jenkins

    老李分享:持续集成学好jenkins   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...

  8. Learning to Rank简介

    Learning to Rank是采用机器学习算法,通过训练模型来解决排序问题,在Information Retrieval,Natural Language Processing,Data Mini ...

  9. python 面向对象编程(一)

    一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class c ...

  10. 浅谈如何让 Bootstrap 3兼容IE8浏览器

    Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.-- Bootstrap 官网 Bootstrap 来自 Twitter,是目前最 ...