0


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。

标签: python

本文转载自: https://blog.csdn.net/weixin_43907175/article/details/121307506
版权归原作者 虽迟但到灬 所有, 如有侵权,请联系我们删除。

“python中的for else语句”的评论:

还没有评论