python break 和 continue的区别

一.break和continue的区别

break continue 都是用于控制循环语句执行的关键字。它们的区别在于:

  • break 会终止当前循环,不再执行当前循环体余下的代码,并退出当前循环体,然后继续执行循环外的代码.
  • continue 会停止当前迭代,跳过本次循环剩余的语句,然后继续下一次迭代。.

下面是一个简单的示例,说明 break continue 的区别:

# 示例代码
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用 break
for n in numbers:
    if n == 5:
        break
    print(n)

# 输出结果:1 2 3 4

# 使用 continue
for n in numbers:
    if n == 5:
        continue
    print(n)

# 输出结果:1 2 3 4 6 7 8 9 10

在上面的示例中,我们使用了两个循环语句来遍历一个包含 1 到 10 的数字列表 numbers。在第一个循环中,我们使用 break 关键字来停止循环,并跳出循环体。因此,当循环到 n 等于 5 时,循环停止,不再执行后面的语句,直接跳到循环外的代码。在第二个循环中,我们使用 continue 关键字来停止本次迭代,并跳过本次循环剩余的语句,直接开始下一次迭代。因此,当循环到 n 等于 5 时,本次迭代停止,直接开始下一次迭代,不再执行本次迭代剩余的语句。

也可以使用下面一个流程图,来解释它们区别.

二.break和continue在while和for循环中应用

为了清楚知道break和continue在while和for循环中应用,将通过两个案例进行说明 .

案例1:

随机产生一个在[1-10]的数字,有3次机会对产生的随机数进行猜测,在猜测过程中猜大.猜小或者猜中都给予提示,并且猜中立即停止.

break在while循环中应用:

import random

num = random.randint(1, 10)  # [1,10] 闭区间
print(f"生成随机数为{num}")

count = 1
while count <= 3:
    # input输出为str,需要进行数据转换int,才可以进行比较.
    input_id = int(input("请输入[1-10]数字:")) 
    #对输入的数字范围进行初始判断
    if 1 <= input_id <= 10:
        if input_id == num:
            print("恭喜贺喜,你猜对了!")
            break  # 跳出循环
        else:
            if input_id < num:
                print(f"不好意思,你猜小了!")
            else:
                print(f"不好意思,你猜大了!")
            #次数判断
            if count ==3:
                print("你的次数已经用完!!!")
                break  # 跳出循环
            else:
                print(f"你还有{3-count}次机会!!!")
    else:
        print(f"你输入的[{input_id}]不在[1-10]内")
    count += 1
print(f"你总共猜了{count}次")

break在for循环中应用:

import random

num = random.randint(1, 10)  # [1,10] 闭区间
print(f"生成随机数为{num}")

count = 1
for i in range(3):
    # input输出为str,需要进行数据转换int,才可以进行比较.
    input_id = int(input("请输入[1-10]数字:"))
    #对输入的数字范围进行初始判断
    if 1 <= input_id <= 10:
        if input_id == num:
            print("恭喜贺喜,你猜对了!")
            break  # 跳出循环
        else:
            if input_id < num:
                print(f"不好意思,你猜小了!")
            else:
                print(f"不好意思,你猜大了!")
            #次数判断
            if count ==3:
                print("你的次数已经用完!!!")
                break  # 跳出循环
            else:
                print(f"你还有{3-count}次机会!!!")
    else:
        print(f"你输入的[{input_id}]不在[1-10]内")
    count += 1
print(f"你总共猜了{count}次")

运行其中一次得到结果如下: 

案例2:

打印出 1 到 10 之间的所有奇数.

continue在while循环中应用: 

i = 1
while i <= 10:
    if i % 2 == 0:
        # 如果 i 是偶数,跳过当前迭代
        i += 1
        continue
    print(i)
    i += 1

 continue在for循环中应用: 

for i in range(1, 11):
    # 如果 i 是偶数,跳过当前迭代
    if i % 2 == 0:
        continue
    print(i)

以下是运行的结果

猜你喜欢

转载自blog.csdn.net/tjfsuxyy/article/details/130229260
今日推荐