python的else语句冷知识,你确定不来看看?

        Python作为程序语言中的新星,是因为语法的简单、内置函数得多以及海量的第三方库。但是,今天介绍的是一些关于Python的else语句的冷知识,你确定不来看看吗?

         下面我们来看一个关键字:

else

        提问:这个else关键字该和那个关键字配对?不了解的肯定会说if和elif,但是你们不知道吧,else还可以跟try和except、for还有while进行配对!但是,在不同的地方表示不同的意思,下面将为四种情况的不同意思进行讲解。

1.

import datetime
if datetime.datetime.now() == datetime.datetime(2023,1,1,0,0,0):
    print("新年好")
else:
    print("距离新年还有:",datetime.datetime(2023,1,1,0,0,0) - datetime.datetime.now())

        这里的else指的是如果if后面的表达式为假,则执行else代码块。(这里大家肯定都知道,简单过一下)

2.

try:
    n = int(input())
    m = int(input())
    rst = n / m
except ZeroDivisionError:
    rst = "发生错误,除数为0"
except ValueError:
    rst = "发生错误,被除数或除数不为数字字符串"
else:
    print("无错误发生")

        这里的else指的是如果try语句成功执行完毕,那么执行else语句,这个语法非常有用,比如说我们想要获取用户的正确格式输入,就得用上else语句啦。

        而且,我们可以在else后面继续加上finally语句,finally语句指的是无论try语句成功执行是否,都会在语句的最后执行此代码块。就像这样:

try:
    n = int(input())
    m = int(input())
    rst = n / m
except ZeroDivisionError:
    rst = "发生错误,除数为0"
except ValueError:
    rst = "发生错误,被除数或除数不为数字字符串"
else:
    print("无错误发生")
finally:
    print(rst)

        如果我们把print(rst)放在else语句下,那意思就变了。指的就是如果计算成功,则打印出计算结果。

        这一个语句的流程图如下:

         这样一看,是不是就简单清晰了?

3.

import random
for i in range(10):
    if random.randint(0,10) == i:
        break
    else:
        continue # 其实这里不用写else,但是为了让读者更加清晰,还是加了else
else:
    print("没有中奖")

        这里的else指的是如果for循环成功执行完毕的话,则执行else语句。如果在循环中出现了break语句的情况,则不执行else语句。这个语句本人经常用的到。

4.

i = 10
sums = []
while i:
    a = input()
    if not a.isdigit():
        break 
    sums.append(int(a))
else:
    print(sum(sums)/10)

        while else的用法同for else。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值