栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中的for else语句

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中的for else语句

疑问:python中为什么要有for else这种感觉比较奇怪的语句呢?
python之父如是回答:Although that way may not be obvious at first unless you’re Dutch."

在我们的实际开发中也许真的用不上这种语句,但是如果强行的如此理解怎么样?小领导给我们个期限,让我们在这个期限内完成一个需求,ok,这个期限就是我们的循环条件,我们完成了这个需求,那好,就break,也就是这个任务完成了,不需要在继续循环下去了。如果deadline到了,我们没有完成任务,糟了,免不了小领导的一顿臭骂,甚至惩罚,也就是else了,天呐但愿这种事不要发生。

接下来我们看下实例代码:输入一个数字判断这个数字是否是质数。
如下:(质数是大于1的自然数,除了1和本身不能被其它自然数整除的数)。

num = int(input("请输入一个数字"))

if num > 1:
    for i in range(2,num):
        if (num % i) == 0:
            print("不是质数")
            break             #break不能去掉,否则会进入else逻辑
    else:
        print("是质数")
else:
    print("不是质数")

当我们输入2,打印出是质数,4打印出不是质数。但是当我们把break这行注释掉会出现什么情况呢?
如下打印:
所以看结果我们知道for else就是一个整体循环,要想不走进else语句中,只有在for循环中break中断才可。针对于循环期限内做事,没有做到才走else的逻辑业务比较适合。

总结:for else是整体循环,for中没做成事,会走else默认给个结果,而break … else … 才是两个互斥的语句,for中如果没有break就不管for中成没成事,else都会走进去,这一般会引起逻辑上的bug。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号