Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ

  上学期间,常常遇到这样的情景:为了惩罚学生,老师会说:“XXX,你先去操场上跑10圈再回来继续反省。”

  这话虽短,但含义深刻。不过这在当时,我是体会不到其中的“深意”的。直至大学,当接触到C++编程时,我才领悟到这其中的内涵。原来这句话中饱含编程哲学啊。什么哲学呢?围着操场跑道,重复跑10圈……这不就是“循环”嘛?

  言归正传,for/while循环有什么作用呢?前面讲的Python基础知识中的代码就不需要循环啊。那下面来看几种情形呗~~~

  情形一:求和。求1+2+3的和,并输出结果。

 #哈哈,我就不用循环,看你咋的
>>>sum = 1 + 2 + 3
>>>print(sum)
6

  情形二:再是求和。求1+2+3+4+5+6+7+8+9+10的和,并输出结果。

 #哈哈,我还不用循环,看你咋的
>>>sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
>>>print(sum)
55

  情形三:还是求和。求1+2+3+……+99+100的和,并输出结果。

 #哈哈,我就不用循环,看你咋的
#我可以这样啊
>>>sum = 1 + 2 + 3 + ...... + 99 + 100
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'ellipsis'
#循环的魅力就在于此
>>>sum = 0
>>>for i in range(101):
sum = sum + i
>>>print(sum)
5050

  看来,循环不用不行啊。

  range():生成一个整数序列。比如range(3)生成的序列是从0到2的整数:

 #range()方法
>>>list(range(3))
[0,1,2]
>>>list(range(1,6))
[1,2,3,4,5]

while循环

  学习Python,使用笨方法可不行哦~~~

  就像上面的情形二,直接写求和表达式。

  为了避免上述情形二中笨重的代码,可以使用while循环:

 #while循环
>>>sum = 0
>>>i = 0
>>>while i < 11:
... sum = sum + i
... i = i +1
...
>>>print(sum)
55

  在while循环内部,i不断加一,直到i变为11时,不再满足(i<11)while条件,循环退出。

  while循环可以用来在任何条件为True的情况下重复执行一个代码块。

  因此,while循环:只要条件满足,就不断循环,条件不满足时退出循环。

for循环

  一般地,while循环已经可以应付大多数的循环案例。然而,还是有while循环够不着的地方。这时就需要for...in大显身手啦。

  比如要为一个集合的每个元素都执行一个代码块:

 #集合
>>>L = ['I','can','Python','!']
>>>for i in L:
... print(i)
...
I
can
Python
!

  对于求和公式,for...in循环比while循环更加简洁:

 #for...in循环比while循环简洁
#求和公式
#for...in循环
>>>sum = 0
>>>for i in range(11):
... sum = sum + i
...
>>>print(sum)
55
#while循环
>>>sum = 0
>>>i = 0
>>>while i < 11:
... sum = sum + i
... i = i + 1
...
>>>print(sum)
55

  注:若可以使用for...in循环,就尽量不用while循环。

  对于循环中的break语句和continue语句,我不推荐大家使用。为什么呢?其一是容易出错;其二是可以通过改写循环条件或者修改循环逻辑来替代break语句和continue语句。

死循环之吻

  对于死循环,我相信大家都印象深刻。有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。

  如何解决死循环问题呢?方法如下:

  一、Ctrl + C直接退出程序或强制结束Python进程。

   对于出现编写Python程序代码时出现意想不到的问题而引起的死循环的情况,这种方法非常有效。

空代码块

  在Python中,空代码块是非法的。

  解决方法如下:

  二、pass语句:什么都不做。

   为了避免出现空代码块Error,方法就是在循环代码块中加入一个pass语句。

 #pass语句
>>>for i in range(11):
...
...
File "<stdin>", line 3 ^
IndentationError: expected an indented block
#空代码块错误
>>>for i in range(11):
... pass
...
>>>

小结

  1. 为序列中的每一个元素执行一个语句块,或者在条件为真时继续执行一段语句;

  2. 可以使用continue语句和break语句,但不推荐使用;

  3. 死循环问题,Ctrl + C直接退出程序;

  4. 循环:让计算机做重复任务的有效的方法。

Python基础——for/while循环的更多相关文章

  1. Python基础【while循环】

    Python基础[while循环] 1.while循环: 格式 while 条件: ...... print(......) 注意,在while语句也可以嵌套else,但是else不执行循环,执行后直 ...

  2. Python基础 条件、循环

    1.条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的 ...

  3. python基础条件和循环

    一.if语句 1.if后表达式返回值为true则执行其子代码块,然后此if 语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if 2.expression可以引入运算符:not,a ...

  4. Python基础入门-For循环

    For循环的功能比较强大,他可以帮助我们实现很多重复性的工作.而且for循环能迭代不同的数据结构.他的应用也十分的广泛,作为初学者,我们需要对循环的概念多加理解和练习.接下来我们就来学习for循环的一 ...

  5. python基础语法_8循环语句

    http://www.runoob.com/python3/python3-loop.html while 循环 Python中while语句的一般形式: while 判断条件: 语句 无限循环 我们 ...

  6. python基础之条件循环语句

    前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...

  7. Python基础入门-while循环示例

    闲来无事! 想写一些基础的东西! 比如今天的while循环,,,,,, 很多python初学者,最开始学习python的时候,会被while循环给干蒙蔽! 那么今天,小编为大家讲解一些基础的实例,来帮 ...

  8. Python 全栈开发三 python基础 条件与循环

    一. 条件语句 python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行. 而执行内容可以多行,以缩进来区分表示同一范围. 1.Python判断条件真假 ...

  9. Python基础:条件与循环

    条件语句 除了 boolean 类型的数据,条件判断最好是显性的 if i != 0: ... 而不是只写出变量名: if i: ... For循环与While循环 通常来说,如果你只是遍历一个已知的 ...

随机推荐

  1. intellij-项目目录隐藏无用的文件和文件夹

    File-->Editor-->File Types

  2. 详细介绍关联规则Apriori算法及实现

    看了很多博客,关于关联规则的介绍想做一个详细的汇总:  一.概念                                                                     ...

  3. Duilib学习(一)

    #pragma once #include <UIlib.h> using namespace DuiLib; #ifdef _DEBUG # ifdef _UNICODE # pragm ...

  4. CSDN博客测试目录

    经常写博客,但是一般没怎么注意些目录,最近看别人写的博客都有目录,所以我也想在以后写好目录,这样子也方便阅读. 这里就写一个实验: 这里一级目录 这里是一级目录下的文本.林肯公园 这里是1.1目录 这 ...

  5. The server's host key is not cached in the registry. You have no guarantee that the server……

    使用putty中的pscp.exe ,可以通过脚本方式实现windows向linux上传文件,但pscp.exe第一次运行时必须手工输入确认信息,本文主要解决掉初次运行时的人工交互,彻底实现静默运行. ...

  6. oracle光标的使用

    以下plsql程序用的scott用户的dept,emp表. 1.光标的使用: --查询并打印员工的姓名名和薪水 /* 光标属性: %found %notfound */ set serveroutpu ...

  7. C语言对函数操作的结果声明

    可以用来返回给调用者函数操作的状态值. /* 这是一份关于函数返回值定义的头文件. */ #ifndef _STATUS_H_ #define _STATUS_H_ #define STATUS in ...

  8. echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法

    1.简述 echarts中的 timeline 组件,提供了在多个 ECharts option 间进行切换.播放等操作的功能. 与其他组件些不同,它需要操作『多个option』. 所以除了基准的ba ...

  9. xBIM IFC 墙壁案例

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

  10. RAID知识总结[转]

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://815632410.blog.51cto.com/1544685/1394306 ...