19.break和continue

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)
原文地址:https://www.cnblogs.com/kangwenju/p/12685263.html