Python tips---if、for、while均可与else构成整体条件语句

通常,Python中比较常用的是if 、 else语句,有一次看到了 for/while、 else在一起突然有些奇怪,后来发现他们是可以放在一起使用的。

1. for-else statment

以下面代码为例:

lt = [1,2,3,4,5,6,7]

for i in lt:
    if i <5:
        print("if",i)
        # break
    else:
        print("if-else",i)
else:
    print("for-else",i)

输出结果:

if 1
if 2
if 3
if 4
if-else 5
if-else 6
if-else 7
for-else 7

可以看出if-else语句输出全部的元素判断结果,在for-else语句中,else部分只输出最后一个不符合的元素

lt = [1,2,3,4,5,6,7]

for i in lt:
    if i <5:
        print("if",i)
        break     ### 启用break
    else:
        print("if-else",i)
else:
    print("for-else",i)

若在if中启动break函数,那么整体都会退出,输出结果为:

if 1

当然也可以只执行else:

list = [1,2,3,4,5]
for x in list:
    continue
    print(x)
else:
    print("else")

输出结果:

else
2. while-else statment

while语句和for类似:

a=3
b=0
while b<a:
    b += 1
    continue
    print(b)

    # break
else:
    print("else")

无论在for-else还是while-else语句,遇到break,则不执行else部分。若是continue,则可以执行else。

参考:
https://blog.csdn.net/CSND_Ayo/article/details/70341484
https://www.zhihu.com/question/37076998

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值