ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] <br> ### 条件判断逻辑 #### if...elif...else 语法 if 后面一般跟着表达式,如果表达式结果为True,则进入代码块,否则跳过 实例演示: ```python if 1>2: print("1>2") else: print("1<2") ``` 输出结果如: ```cmd 1<2 ``` **注意** 1. 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。 2. 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 ### 循环遍历逻辑 #### for 循环 for 循环一般用在遍历迭代器中,一般形式为: ```python for <variable> in <sequence>: <statements> else: <statements> ``` ##### 遍历列表 for循环,最常用的是遍历列表,举例如一个列表["Milton","Cherish","Evan"] 中有三个名称,如何逐个取出来呢? ```python for name in ['Milton','Cherish','Evan']: print(name) ``` 输出结果为: ```cmd Milton Cherish Evan ``` 如上示例,name 变量在每次循环时,分别被赋值为列表当前被迭代的元素值。第一次循环,name='Milton',第二次循环时,name='Cherish',以此类推,直到循环结束。 ##### 遍历列表时,通过 `enumerate()` 函数获得对应索引值 有时候,我们在遍历一个列表时,想要获得它的索引值,我们可以通过enumerate()函数如下: ```python for index, name in enumerate(['Milton', 'Cherish', 'Evan']): print(index, ":", name) ``` 运行结果为: ```cmd 0 : Milton 1 : Cherish 2 : Evan ``` #### while 循环 while 循环的一般形式是: ```python while <condition>: <statements> ``` 简单实例,输出1-10的数字: ```python num = 1 while num <= 10: print(num) num += 1 ``` **注意:** 1. 注意代码块缩进 ### 逻辑控制语句 #### continue语句 在循环语句中,执行到continue,则停止本次循环,重新继续新的一次循环 #### break语句 在循环语句中,执行到break,则停止,并退出整个循环 #### pass语句 程序遇到pass语句,则什么都不做 >[info]**实例演示:continue,break,pass语句** 功能:20个小朋友,从1开始报数,偶数不出声,如果数字等于7不出声,数字等于15不出声并且直接停止游戏 ```python num = 0 while num <= 20: num+=1 if num % 2 == 0: # 遇到数字是偶数,这里什么都不做 pass else: if num == 7: # 如果数字等于7,退出本次循环,继续下一次循环 continue if num == 15: # 如果数字等于15 退出整个循环 break print(num,end=' ') ``` 运行结果如: ```cmd 1 3 5 9 11 13 ``` #### else 语句 else 在循环控制中,当循环正常结束,则执行,否则不执行。 在循环中,遇到break退出时: ```python for name in ['Milton','Cherish','Evan']: if name=='Cherish': break print(name) else: print("正常循环结束") ``` 运行结果如: ```cmd Milton ``` 在循环中,如果正常结束,则: ```python for name in ['Milton','Cherish','Evan']: if name=='Peter': break print(name) else: print("正常循环结束") ``` 运行结果如: ```cmd Milton Cherish Evan 正常循环结束 ``` ### range() 函数 在for循环中,我们经常使用range函数创建一个整数列表,例如 ```cmd >>> range(10) range(0, 10) >>> for i in range(10): ... print(i) ... 0 1 2 3 4 5 6 7 8 9 >>> ``` 当我们需要循环10次时,我们可以使用 for i in range(10) 了,是不是特别方便? **注意:** 在python2中,range(10)会生成一个列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],当列表很大时,占用内存是非常大的。这点在python3中已经做了优化。 ```cmd >>> a=range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> type(a) <type 'list'> ``` 在python3中,range(10) 会生成一个可迭代的对象,只有在每次循环调用时才生成下一个元素。 ```cmd >>> a = range(10) >>> a range(0, 10) >>> type(a) <class 'range'> >>> list(a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ``` range 函数语法:range(start, stop[, step]) (为了便于显示,这里使用python2) ```cmd >>> range(3,10,2) [3, 5, 7, 9] ``` ### len() 函数 len(object) 可以获取一切对象的长度,例如可以获取列表,字符串,元组,字典的长度,如 ```cmd >>> len(['Milton','Cherish','Evan']) 3 >>> len("Hello,Milton") 12 >>> len((1,2,3)) 3 >>> len({'k1':'v1','k2':'v2','k3':'v3'}) 3 >>> ``` 在前面for循环中,有提到过用enumerate函数,可以在遍历列表时,获得列表的索引,这里使用range与len 函数结合,同样可以获得相同的结果,如 ```cmd >>> users=['Milton','Cherish','Evan'] >>> for i in range(len(users)): ... print(i,users[i]) ... 0 Milton 1 Cherish 2 Evan ``` <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg) ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***