Python循环控制详解

2025-12-13 0 403
目录
  • 技术背景
  • 单层for循环
  • 双重for循环
  • 单层循环控制
  • 多层循环控制
  • 总结概要
  • 版权声明

技术背景

循环控制是每一门编程语言的基础,最常用的就是for循环和while循环。使用循环可以很大程度上简化代码的编写,可读性也很强。这里介绍Python的for循环基本操作和多重循环的控制。

单层for循环

这里用一个最简单的打印数字的for循环来演示普通单层for循环的控制:

1

2

foriin(1,2,3):

print(i)

输出结果为:

1 2 3

值得一提的是,Pythonic的写法使得我们可以把这一串的循环写到一行里面:

1

foriin(1,2,3):print(i)

输出结果是一样的,但是可以很大程度上缩略简单代码的行数。对于比较复杂的循环体,建议还是分行来写,提升代码可读性。

双重for循环

我们还是使用打印数字的简单案例:

1

2

3

foriin(1,2,3):

forjin(4,5):

print(i, j)

输出结果为:

1 4
1 5
2 4
2 5
3 4
3 5

那么类似的,双重循环也可以使用一些Pythonic的写法:

1

2

fromitertoolsimportproduct

fori, jinproduct((1,2,3), (4,5)):print(i, j)

输出结果依然是一样的,但是代码量从三行缩减到了两行。这里顺带介绍另一个情况,在循环内操作多个对象:

1

2

3

4

a=(1,2,3)

b=(4,5,6)

foriinrange(3):

print(a[i], b[i])

输出结果为:

1 4
2 5
3 6

那么其实也可以用zip打包的方法进行循环:

1

fori, jinzip((1,2,3), (4,5,6)):print(i, j)

当然,输出结果也是跟上面的案例一致的。

单层循环控制

常用的控制句柄就是continue,break和pass,然后结合if…elif…else来使用。还是用这个打印数字的示例,但是我们只打印奇数:

1

2

3

foriin(1,2,3):

ifi%2==1:

print(i)

输出结果为:

1
3

这里条件控制内容为:当得到的数为奇数时,打印该数。而如果为偶数,则执行if从句之外的内容,因为这里函数之外没有其他操作,因此就不打印。如果需要打印,我们可以加上一个打印操作:

1

2

3

4

5

foriin(1,2,3):

ifi%2==1:

print(i)

else:

print(\’Even: {}\’.format(i))

输出结果为:

1
Even: 2
3

条件判断可以结合continue来使用,continue表示跳过余下所有的操作,执行循环的下一步。例如上面这个例子,假设我们不使用else语句,直接在if内部加上一个continue,也是可以实现同样功能的:

1

2

3

4

5

foriin(1,2,3):

ifi%2==1:

print(i)

continue

print(\’Even: {}\’.format(i))

输出结果为:

1
Even: 2
3

如果说达到条件不想继续循环了,可以使用break:

1

2

3

4

5

6

foriin(1,2,3):

ifi%2==1:

print(i)

else:

print(\’Even: {}\’.format(i))

break

输出结果为:

1
Even: 2

这里到出现第一个偶数之后,就退出了循环。

多层循环控制

对于if和continue、break等语句的使用逻辑,在多层循环下和单层循环是一致的。但是这里break只能跳出一层循环,不能跳出两层循环:

1

2

3

4

5

foriin(1,2,3):

forjin(4,5):

ifi+j==6:

break

print(i, j)

输出结果为:

1 4
3 4
3 5

这里输出结果跳过了(1,5),(2,4),(2,5)这几个组合,但是后面的依然都可以正常的输出。如果想退出多层循环应该怎么操作呢?可以参考下下面这个案例:

1

2

3

4

5

6

7

8

foriin(1,2,3):

forjin(4,5):

ifi+j==7:

break

print(i, j)

else:

continue

break

输出结果为:

1 4
1 5
2 4

这里我们稍微改了一下条件,当i+j=7时,退出所有循环。这里在内部循环中触发了一个break之后,到外层循环会跳过else去执行第二个break,也就是退出所有的循环。但是如果内部循环中没有触发break,也就是满足if的条件,那么到了外层循环就会进入到else的语句中,也就是执行continue语句。因此,如果需要在满足条件时退出多层的循环,那么就使用for…[for…if…]else…break这样的形式去写就可以了,然后把外层循环非退出场景的任务写到else语句下就可以了。

在上面这个案例中,假如没有设定这个continue语句,那么结果会是这样的:

1

2

3

4

5

6

foriin(1,2,3):

forjin(4,5):

ifi+j==7:

break

print(i, j)

break

输出:

1 4
1 5

也就是说,不论是否满足内循环里面的if条件,到了外层循环都是直接break退出,所以一般我们还是会通过else…continue来继续执行外层循环。

总结概要

本文介绍了Python编程语言中关于for循环和if条件控制的一些基本使用。包含了单层循环的退出机制和多层循环的退出机制,使得我们在满足特定条件时,可以直接结束多层循环。

本文首发链接为:https://www.cnblogs.com/dechinphy/p/for-control.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 Python循环控制详解 https://www.zuozi.net/36671.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务