第9课 循环语句与注释
一、循环
1、循环的概念
2、while循环:
1)格式:while 条件:(条件要成立--True)
循环语句(循环体)
2)while True:死循环。
用处,如cmd、python shell交互界面或者需要循环多次的时候
while True: pw = input('请输入密码:') if pw == '123456': print('密码正确!') break else: print('密码错误,请重新输入:') # 执行结果 请输入密码:11 密码错误,请重新输入: 请输入密码:11 密码错误,请重新输入: 请输入密码:123 密码错误,请重新输入: 请输入密码:123456 密码正确!
坏处:bug--挂在死循环里面
3)求和/数据处理。i += 1---循环变量一定要+1
sumData = 0 i = 0 while i <= 100: sumData += i i += 1 print(sumData) # 输出结果 5050
alist = ['jack', 'tom', 'john', 'lily', 'lisa', 'linda'] i = 0 while i < 6: print(alist[i]) i += 1 # 输出结果 jack tom john lily lisa linda
3、for循环
1)for name in alist:name依次去取(遍历)alist里面的每一个元素
2)少了一个循环变量(递增变量)
alist = ['jack', 'tom', 'john', 'lily', 'lisa', 'linda'] for name in alist: print(name) # 输出结果 jack tom john lily lisa linda
3)比较适合嵌套
4)for one in range(0, 101)----遍历0到100的值,左含右不含。range(初始值,结束值-1,步长(默认为0))
>>> for one in range(0, 101, 10): # 其中10为步长 print(one) 0 10 20 30 40 50 60 70 80 90 100
从100到0,for one in range(100, 0, -1)----这样理解,如果步长为1,则100往后面加1,变为101,没有结果输出。如果步长为-1,则往前面移动一位变成99。
>>> for one in range(100, 0, -1): print(one) 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
4、break:跳出本层循环。跟if配合使用,满足条件退出本层循环。
>>> alist = ['jim', 'marry', 'tom', 'jacky', 'lisa', 'linda'] >>> for one in alist: print(one) jim marry tom jacky lisa linda >>> alist = ['jim', 'marry', 'tom', 'jacky', 'lisa', 'linda'] >>> for one in alist: if one == 'lisa': break # break跳出本层循环 print(one) jim marry tom jacky
>>> alist = ['jim', 'marry', 'tom', 'jacky', 'lisa', 'linda'] >>> for i in range(0, 2): for one in alist: if one == 'linda': break print(one) jim marry tom jacky lisa jim marry tom jacky lisa
5、continue:结束本次循环.
1)本次循环continue后面的代码不会执行。
2)继续执行下次循环
>>> alist = ['jim', 'marry', 'tom', 'jacky', 'lisa', 'linda'] >>> for i in range(0, 2): for one in alist: if one == 'lisa': continue print(one) # 当 one == 'lisa'时,不执行输出。所以结果中没有lisa jim marry tom jacky linda jim marry tom jacky linda
3)另一种场景,为了使后面的执行结果不报错
>>> str1 = ' name is tom ' # 字符串首尾都有空格 >>> str1.split(' ') # 通过空格切分 ['', 'name', 'is', 'tom', ''] # 切分为5个元素,首尾元素为空值None >>> out = str1.split(' ') >>> for one in out: if one == '': # 通过空格切分后,首尾切出来的为空值None。当one ==空值时,不执行打印 continue print(one[1]) a s o
6、注释:注释很重要,一定要写注释。
1)在代码语句前面
2)在代码语句后面
3)ctrl + /----注释/取消注释
4)三引号:多行注释
# ------------------------start------------------------------- ''' ''' # ------------------------end---------------------------------
5)函数doc string
6)func.__doc__
def func(): 'this is func--doc' print('demo!') func() print(func.__doc__) # 查看函数属性 # 输出结果 demo! this is func--doc