一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“While循环控制语句”。
掌握while循环的结构以及循环中的常用关键字。
一、While循环控制语句
● Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句块
pass
while 循环条件:
二、 While循环工作原理
● 从一个列表中分别筛选出奇数和偶数,并分别放到不同的列表中。
while循环工作原理演示:
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 :流程分析并绘制流程图
三、循环关键字break和continue
●while循环语句时还有另外两个重要的关键字continue和break来跳过循环,该关键字出现在循环体当中,用来改变程序流。
●break 用于终止并退出循环,执行循环语句块之后的代码。
●continue 用于终止当前正在执行的循环,程序流回到循环条件判断,进行下一次循环。
四、循环使用while..else语句
在python中, while ... else在循环条件为false时执行else语句块:
实例代码:
ch04-demo08-wihleelse.py
运行结果:
五、无限循环
● 当while循环条件为永真值时或循环变量趋向于不满足循环条件发展时,则出现永无休止的执行循环体,我们称之为无限循环。
无限循环可能出现的情况:
while 1==1:
执行语句块
pass
while True:
执行语句块
pass
a = 0
while a <5:
执行语句块
a = a - 1
pass
▲ 在某些场景中,我们恰恰需要无限循环这种情况(比如 菜单操作等)。
注意:当程序出现无限循环情况,若要终止程序u运行可以使用快捷键 Ctrl+C
六、断点调试
● 在程序开发过程中,我们经常要进行开发测试,以保障我们提交的程序正确性。
● 断点调试技术是在编写程序中很重要的一种开发测试技术。
步骤:
添加断点:选中某行,在左侧靠近行数处点击(再次点击取消断点)
调试断点:右键"debug xxxx" 或Shift+F9
观察运行到断点时各变量值
说明:
● 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