掌握while循环的结构以及循环中的常用关键字。

一、While循环控制语句

● Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件: 执行语句块 pass

while 循环条件:

python中while循环语句例子(PythonWhile循环控制语句)(1)

二、 While循环工作原理

● 从一个列表中分别筛选出奇数和偶数,并分别放到不同的列表中。

while循环工作原理演示:

python中while循环语句例子(PythonWhile循环控制语句)(2)

Code说明 :

●列表 numbers[] 存放6个整形数据

● 列表 even[] 存放挑选出来的偶数

● 列表 odd[] 存放挑选出来的奇数

● [行 4]:循环条件为: 列表numbers中的元素个数大于0

● [行 5]:在循环体中使用 numbers.pop( ) 函数的作用是从原 有的numbers[]列表中取出一个元素并赋值给number变量

● [行 6~7]:使用if条件判断当前取出的数字是否能被2整除, 若是将取出的数字使用.append()方法添加到列表even[]中

● [行 8~9]:若不满足if判断条件,则将取出的数字添加到odd[] 列表中

示例:使用while循环输出数字0~9

首先,问自己三个问题:

● 问题1 :需要重复执行什么?

● 问题2 :重复执行的条件是什么?

● 问题3 :如何结束重复操作?

流程实现:

● 首先,创建循环变量num ,同时该变量也是程序的操作变量。

● 其次,确定循环条件,根据要求只要num小于等于9就可以输出。

● 再次,确定循环体需要重复执行输出num的语句

● 最后,在循环体中一定要体现修改循环变量的值 num 自加1 (趋于不满足条件方向)

Step1 :流程分析并绘制流程图

python中while循环语句例子(PythonWhile循环控制语句)(3)

三、循环关键字break和continue

●while循环语句时还有另外两个重要的关键字continue和break来跳过循环,该关键字出现在循环体当中,用来改变程序流。

●break 用于终止并退出循环,执行循环语句块之后的代码。

●continue 用于终止当前正在执行的循环,程序流回到循环条件判断,进行下一次循环。

四、循环使用while..else语句

在python中, while ... else在循环条件为false时执行else语句块:

实例代码:

ch04-demo08-wihleelse.py

python中while循环语句例子(PythonWhile循环控制语句)(4)

运行结果:

python中while循环语句例子(PythonWhile循环控制语句)(5)

五、无限循环

● 当while循环条件为永真值时或循环变量趋向于不满足循环条件发展时,则出现永无休止的执行循环体,我们称之为无限循环。

无限循环可能出现的情况:

while 1==1: 执行语句块 pass

while True: 执行语句块 pass

a = 0 while a <5: 执行语句块 a = a - 1 pass

▲ 在某些场景中,我们恰恰需要无限循环这种情况(比如 菜单操作等)。

注意:当程序出现无限循环情况,若要终止程序u运行可以使用快捷键 Ctrl C

六、断点调试

● 在程序开发过程中,我们经常要进行开发测试,以保障我们提交的程序正确性。

● 断点调试技术是在编写程序中很重要的一种开发测试技术。

python中while循环语句例子(PythonWhile循环控制语句)(6)

步骤:

添加断点:选中某行,在左侧靠近行数处点击(再次点击取消断点)

调试断点:右键"debug xxxx" 或Shift F9

观察运行到断点时各变量值

python中while循环语句例子(PythonWhile循环控制语句)(7)

说明:

● step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);

● step into my code: 单步执行时,忽略源代码

● step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,

● step out:当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。

七、iterator迭代器

● 迭代是Python最强大的功能之一, 是访问集合元素的一种方式。

● 迭代器是- -个可以记住遍历的位置的对象。

● 迭代器对象从集合的第一个元素开始访问 ,直到所有的元素被访问完结束。迭代器只能往前不会后退。

● 迭代器有两个基本的方法: iter()和next()。

● 字符串,列表、元组和字典对象都可用于创建相应的迭代器。

代码演示:

>>> list1 = list(range(2)) # 创建一个列表 >>> listIter = iter(list1) # 创建一个列表迭代器 >>> next(listIter) # 输出第1个元素 0 >>> next(listIter) 1

说明:若next()调用超出显示范围则抛出异常: StopIteration

,