1. break
<1> for循环
普通的循环示例如下:
name = 'itheima' for x in name: print('----') print(x) else: print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
---- i ---- t ---- h ---- e ---- i ---- m ---- a ==for循环过程中,如果没有break则执行==
带有break的循环示例如下:
name = 'itheima' for x in name: print('----') if x == 'e': break print(x) else: print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
---- i ---- t ---- h ----
<2> while循环
普通的循环示例如下:
i = 0 while i<5: i = i+1 print('----') print(i) else: print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
---- 1 ---- 2 ---- 3 ---- 4 ---- 5 ==while循环过程中,如果没有break则执行==
带有break的循环示例如下:
i = 0 while i<5: i = i+1 print('----') if i==3: break print(i) else: print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
---- 1 ---- 2 ----
小结:
- break的作用:立刻结束break所在的循环
2. continue
<1> for循环
带有continue的循环示例如下:
name = 'itheima' for x in name: print('----') if x == 'e': continue print(x) else: print("==while循环过程中,如果没有break则执行==")
运行结果:
---- i ---- t ---- h ---- ---- i ---- m ---- a ==while循环过程中,如果没有break则执行==
<2> while循环
- 带有continue的循环示例如下:
i = 0 while i<5: i = i+1 print('----') if i==3: continue print(i)
运行结果:
---- 1 ---- 2 ---- ---- 4 ---- 5
小结:
- continue的作用:用来结束本次循环,紧接着执行下一次的循环
3. 注意点
-
break/continue只能用在循环中,除此以外不能单独使用
-
break/continue在嵌套循环中,只对最近的一层循环起作用
break和continue 这两个关键字只能出现在循环之中
例子1:
# break和continue 这两个关键字只能出现在循环之中 # break # break-while # 如果在循环中执行了break 那么循环将被终止(例如应该执行1000次 但是在第500次的时候执行了break # 后面的循环, 将不再执行) i = 1 while i <= 5: print(i) # 判断 如果i == 3 执行 break if i == 3: print("break") break print("break后") i += 1 print("测试")
运行结果:
1 2 3 break 测试
例子2:
# break-for # 最后的结论和break-while是一样的 for i in range(1, 6): print(i) # 判断 if i == 3: print("break") break print("break后") print("测试")
运行结果:
1 2 3 break 测试
例子3:
# continue # continue-while # 如果在循环中执行了continue 那么将会提前结束本次循环 i = 1 while i < 6: i += 1 # 如果i == 4 continue if i == 4: print("continue") continue print("continue后") print(i) print("测试")
运行结果:
2 3 continue 5 6 测试
例子4;
# continue-for # 结论和while-for是一样的 for i in range(2, 7): if i == 4: print("continue") continue print("continue") print(i) print("测试")
运行结果:
2 3 continue 5 6 测试
# 无论是break 还是 continue 只要被执行了 其后面的代码将都不会被执行,只不过break影响的是全局,continue影响的是局部 # 是否只要在循环中出现了break 就会终止循环--> 否 只有break执行了才会终止循环 for i in range(5): if i == 10: break
练习:
""" 编写代码模拟用户登陆。 要求:用户名为 python,密码 123456, 如果输入正确,打印“欢迎光临”,程序结束, 如果输入错误,提示用户输入错误并重新输入 """ # 死循环 while True: # 引导用户输入用户名和密码 user_name = input("请输入您的用户名:") pass_wd = input("请输入您的密码:") # 假如输入正确 if user_name == "python" and pass_wd == "123456": print("欢迎光临!!!") break else: print("您输入的用户名或者密码错误, 请重新输入!!!") continue print("只有退出后才必须执行") print("程序结束!!!")
循环和else:
# 循环 -> while 和 for # 循环配合else使用 # 默认情况下, 待循环结束后 else监听到 就会执行else中的代码 # 如果循环中执行了break 那么else中的代码 将不再会被执行 # 定义一个循环 for i in range(1, 6): print(i) if i == 3: break else: print("else")
运行结果:
1 2 3
# while循环 i = 1 while i < 6: print(i) if i == 3: break i += 1 else: print("else")
练习:
# 100-200(包括100和200)里面所有的素数 # 提示:素数的特征是除了1和其本身能被整除,其它数都不能被整除的数 # 如果执行了break和continue 只是对其最近的一层有影响 其他的正常运行 # for i in range(1, 6): # for j in range(1, 11): # print("%d内部" % j) # if j == 2: # break # print("%d外部" % i) # 定义两个变量 # 起始变量 a = 100 # 结束变量 b = 200 for i in range(a, b + 1): # 构造的是不是1 或者本身范围的数字 for j in range(2, i): # 判断 if i % j == 0: break else: print("%d是一个素数" % i)