python67-Python的控制循环,使用break结束循环

Python语言没有提供goto 语句来控制程序的跳转,这种做法虽然提高了程序流程控制的可读性,但降低了灵活性。为了弥补这种不足,Python提供了continue和 break 来控制循环结构。除此之外,使用return可以结束整个方法,当然也就结束了一次循环。

使用break结束循环

某些时候,需要在某种条件出现时强行中止循环,而不是等到循环条件为False时才退出循环。

此时,可以使用break 来完成这个功能。break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统就将完全结束该循环,开始执行循环之后的代码。例如如下程序。

# !/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2024/01

# @Author : Laopi

#一个简单的for循环

for i in range(0,100):

print("i的值是:",i)

if i==2:

#执行该语句时将结束循环

break

运行上面程序,将看到i循环到2时即结束,因为当i等于2时,在循环体内遇到了break语句,程序跳出该循环。

对于带else块的for循环,如果使用break 强行中止循环,程序将不会执行else块。例如如下程序。

# !/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2024/01

# @Author : Laopi

#一个简单的for循环

for i in range(0,100):

print("i的值是:",i)

if i==2:

#执行该语句时将结束循环

break

else:

print('执行了else',i)

上面程序同样会在i等于2时跳出循环,而且此时for 循环不会执行else块。

在使用break语句的情况下,循环的else 代码块与直接放在循环体后是有区别的:如果将代码块放在else 块中,当程序使用 break 中止循环时,循环不会执行else 块:如果将代码块直接放在循环体后面,当程序使用break 中止循环时,程序自然会执行循环体之后的代码块。Python的break语句不能像其他语言一样使用标签,因此它只可以结束其所在的循环,不可以结束嵌套循环的外层循环。

为了使用 break语句跳出嵌套循环的外层循环,可先定义bool类型的变量来标志是否需要跳出外层循环,然后在内层循环、外层循环中分别使用两条break语句来实现。

out_flag = False

#这是外层循环

for i in range(0,5):

#内存循环

for j in range(0,3):

print("i的值为:%d,j的值为:%d"%(i,j))

if j==1:

out_flag = True

# 跳出内存循环

break

# 如果out_flag为True,跳出外层循环

if out_flag:

break

上面程序在内层循环中判断j是否等于1,当j等于1时,程序将out_flag设为True,并跳出内层循环:接下来程序开始执行外层循环的剩下语句,由于 out_flag 为 True,因此也会执行外层循环的break语句来跳出外层循环。

运行上面程序,将看到如下运行结果

程序从外层循环进入内层循环后,当j等于1时程序将out_flag设为True,并跳出内层循环:接下来程序又执行外层循环的 break 语句,从而跳出外层循环。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试老痞

你的支持,是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值