请稍候,加载中....

break与continue语句

break语句与continue语句都是在循环语句中对循环过程处理的语句

break语句用于中断循环

continue语句用于跳过本次循环剩余部分的代码,进入下一次循环

break语句

for ... break示例:

现在有一个lists列表,现在遍历这个lists,如果发现一个偶数项,那就中断循环

lists = [1,3,5,4,7,6]
for i in lists:
    if i % 2 == 0:
         print(i)
# 找到第一个偶数,break中止循环
         break
    print("-"*10)

while ... break示例:

# 找到第一个偶数
n = 0
lists = [1, 3, 4, 5, 6]
while n < len(lists):
    if lists[n] % 2 == 0:
        print(n)
        break
    n += 1

多重循环使用break

多重循环语句中,break只能中止最近的循环层级

2重循环示例

# 双重循环使用break退出示例
# 外部循环以a为循环条件,当a > 1时,退出循环
# 内部循环以b为循环条件,当b == 2 时, 退出循环
a = 0
while True:
    b = 0
    while b < 5:
        if b == 2:
            print("beak:", b)
            break
        b = b + 1
        print("b =", b)
    a += 1
    print("a =",a)
    if a > 1:
         break

输出:

b= 1
b= 2
break: 2  #内层循环终止
b= 1
b= 2
break: 2  #内层循环终止
a=2         #外部循环终止     

break注意事项

break执行后,while语句或者for语句的的else部分不会被执行,即由break引起的循环终止不会进入循环的else部分

# 使用break结束的循环不会进入else部分
a = 0
while a < 10:
    if a == 3:
         print("a=3循环终止")
         break
    a += 1
else:
    print("循环结束")

print("*"*50)

continue语句

与break不同,continue语句不会终止循环,他会跳过执行continue语句位置之后的所有本次循环的代码

continue示例:

# 找出列表中的偶数
# 打印结果
lists = [1,3,2,6,5,7,5,4,7]
for i in lists:
    if i % 2 == 0:
         print("找到一个偶数:", i)
         continue
    # 输出偶数时,不会输出这条线
    print("-------------", i, "不是偶数,继续")

输出:

-------------1
-------------3
2
6
-------------5
-------------7
-------------5
4
-------------7
# continue与break一样,只能跳过自己这一层循环的后续代码

break练习

# 练习一. 编写一个计算器, 接受用户输入两个数, 计算两数之和.除非用户输入“quit", 否则一直等待用户的新输入

continue练习

# 练习一: 遍历字典, 当字典的值大于3, 打印该字典键名, 否则跳过打印
dicts = {"a": 1, "b":2, "c": 3, "d": 4}

 


Python学习手册-