开发者学堂课程【Python 入门 2020年版:Break 和 continue 的使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10269
Break 和 continue 的使用
Break 和 continue 的使用
记住可迭代对象:
字符串、列表、字典、元组、集合、range
#break 和 continue 在 Python 里只能用在循环语句里
#break:用来结束整个循环
#continue:用来结束本轮循环,开启下一轮循环
i =0
while i <10:
print(i)
i +=1
打印结果是 0~9,因为在加之前就打印了。
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
0
1
2
3
4
5
6
7
8
9
Process finished with exit code 0
现要加个判断条件:
i = 0
while i <10:
if i ==6:
continue
print(i)
i +=1
continue 的作用是:结束本轮循环,开启下一轮循环。在 while 打
个断点,点击 Debug 后又改成如下代码:
i = 0
while i < 5:
if i == 3:
continue
print(i)
i +=1
右键 Debug 在 while i < 5:打个断点,
刚开始 i=0,0<5 是满足条件的,进入 if i == 3:因 i 不等于 3,所以它不走continue 就进入 print(i),i = 0 ,接着进入 i += 1,i = 1。
1<5 满足条件,1 不等于 3 再走,1 就在加 1,加完后等于 2。
2<5 满足,2 不等于 3 再走,2 就在加 1,加完后变成 3。3 等等与 3 是 ture,就走 continue。
只要走 continue,就会回到循环的头部。现在就会有一个问题,运行结果就会如下:
Connected to pydev debugger (build 193.6015.41)
0
1
2
一直打印上述结果,造成死循环。只要到 continue 就会回来看 while i < 5 :这个条件。
现让它不死循环,打印 0、1、2、4、不打印 3。如果将 i += 1 放到 while I < 5: 下面,
如下:
i = 0
while i < 5:
i +=1
if i == 3:
continue
print(i)
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
1
2
4
5
Process finished with exit code 0
0 因为是先加的,所以没有。如果把 print(i) 放到 while i < 5: 下面,如下:
i = 0
while i < 5:
print(i)
i +=1
if i == 3:
continue
先打印然后再加,运行结果如下:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
1
2
3
4
Process finished with exit code 0
现在的情况是:
i = 0
while i < 5:
if i == 3:
continue
print(i)
i +=1
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
0
1
2
Process finished with exit code -1
进入死循环。再加个 I = 1:
i = 0
while i < 5:
if i == 3:
i += 1
continue
print(i)
i +=1
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
1
2
3
4
Process finished with exit code 0
不管在 if 里面,还是满不满足条件,都要自增 1。如果满足条件,走到 continue,执行了 continue 就会直接跳转到 while i < 5: 判断。在 Debug,i = 0时 0 不等于 3,i 就加 1 就等于 1。
1<5 满足,1 不等于 3,进入。再往下走,i = 3 时,3==3,就会进入 continue 就会等于 4。只要有 continue 就会结束本轮循环结束下一轮循环。
加入 break:
i = 0
while i < 5:
if i == 3:
i += 1
break
continue
print(i)
i +=1
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
0
1
2
Process finished with exit code 0
只打印 0、1、2,再打个断点,i=0,接着等于 1,继续执行,i=3,3 == 3 满足条件,break 直接结束整个循环。
所以 break: 用来结束整个循环, continue: 用来结束本轮循环,开启下一轮循环。
#不断的询问用户,我爱你,你爱我吗?只要答案不是爱,就一直问,直到答案是爱
answer = input(‘我爱你,你爱我吗?’)
while answer !=’爱’:
answer = input(‘我爱你 ,你爱我吗?’)
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
Process finished with exit code 0
只有爱才会停止。结果不是爱,就会一直问。
#不断的让用户输入用户名和密码,只要用户名不是 zhangsan ,密码不是 123 ,就一直问。
username = input(‘请输 入用户名:’)
password = input(‘ 请输入密码:’)
while username != ‘zhangsan’ and password !=‘ 123’ :
username = input(‘请输入用户名:’)
password = input(‘请输入密码:‘’)
运行结果:C: \Users\chris \AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python基 础/Day04-
流程
请输入用户名:lisi
请输入密码:3456
请输入用户名:jerry
请输入密码:43353
请输入用户名:
Process finished with exit code 0
username = input(‘请输入用户名:’) password = input(‘请输入密码:‘’)
这段代码当 while 条件为 Ture 时才会执行。
如果条件为 false 就会不执行。但代码有点问题,当用户名是 zhangsan,zhangsan 不等于 zhangsan ,密码为 234523,就会再让你输入,因为 zhangsan 不等于 zhangsan 就是 flase。
用 and 连接,不管前面是什么就都是 Flase。条件不成立,下面的代码就不走了,就会不再提示。
注意,正常情况下,
username = input(‘请输 入用户名:’)
password = input(‘ 请输入密码:’)
userword == ‘zhangsan’ and password == ‘123’
while username != ‘zhangsan’ and password !=‘123’ :
username = input(‘请输入用户名:’)
password = input(‘请输入密码:‘’)
正常情况下,应如下:
username = input(‘请输 入用户名:’)
password = input(‘ 请输入密码:’)
not(userword == ‘zhangsan’ and password == ‘123’)
#z这里是停止的条件while username != ‘zhangsan’ and password !=‘123’ :
username = input(‘请输入用户名:’)
password = input(‘请输入密码:‘’)
所以应该如下写:
username = input(‘请输 入用户名:’)
password = input(‘ 请输入密码:’)
while not (username != ‘zhangsan’ and password !=‘123’ ) :
username = input(‘请输入用户名:’)
password = input(‘请输入密码:‘’)
上面代码还是太复杂,可以这样写:
while True
username = input(‘请输入用户名:’)
password = input(‘请输入密码:’)
if username == ‘ zhangsan’ and password ==’ 123’:
break
#不断的询问用户,我爱你,你爱我吗?只要答案不是爱,就一直问,直到答案是爱
while True:
answer = input( ‘我爱你,你爱我吗?’
if answer == ’爱’:
break