python的条件分支——零基础学python 007

前言

if else条件语句在之前博客也有讲到,这里就不在啰嗦了。接下会用实例演示怎么使用if else条件分支?使用条件分支的好处是什么?怎么使用条件表达式(三元操作符)来简化自己的代码?认识assert(断言)关键字

目录:

if else 条件分支

假如按照100分制,90分或者以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序当用户输入分数自动转换为ABCD的形式打印。该怎么写呢?用条件分支大概可以写成写下面三种。

第一种:

score = float(input("请输入成绩:"))
if(score < 0 or score > 100):
    print("输入成绩错误!设定范围0到100!")
if(score>=90):
    print("成绩评级为:A")
if(80<=score<90):
    print("成绩评级为:B")
if(60<=score<80):
    print("成绩评级为:C")
if(score<60):
    print("成绩评级为:D")

可以知道,程序每一条if语句是独立的,前后没有必然联系,是按照顺序执行的。如果我们输入101分的话,它判断是成绩错误之后,依然会继续执行后面的程序,判断是否为A是否为B,那么就会导致时间上资源的浪费。

第二种:

score = float(input("请输入成绩:"))
if(score < 0 or score > 100):
    print("输入成绩错误!")
else:
    if(score >= 90):
        print("成绩评级为:A")
    else:
        if(80 <= score < 90):
            print("成绩评级为:B")
        else:
            if(60 <= score < 80):
                print("成绩评级为:C")
            else:
                if(score < 60):
                    print("成绩评级为:D")
      

第三种:

score = float(input("请输入成绩:"))
if(score < 0 or score > 100):
    print("输入成绩错误!")
elif(score >= 90):
    print("成绩评级为:A")
elif(80 <= score < 90):
    print("成绩评级为:B")
elif(60 <= score < 80):
    print("成绩评级为:C")
else:
    print("成绩评级为:D")

第二种和第三种其实效果是一样的,只不过第三种的写法更简洁。elif语句,其实就是else if 缩写罢了。

条件表达式(三元操作符)

用一条语句完成条件判断和赋值的操作,num = a if (a < b) else b ,这就是三元操作符的条件表达式,如果if后面的条件成立就把a赋值给num,否则就把b赋值给num。
比如我写了一个比较任意两个数大小的程序:

a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
if(a<b):
    small = str(a)
    big = str(b)
    print("比较小的是:"+ small)
    print("比较大的是:"+ big)
else:
    small = str(b)
    big = str(a)
    print("比较小的是:"+ small)
print("比较大的是:"+ big)

用三元操作符的条件表达式改进:

a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
small = str(a if (a<b) else b)
big = str(b if (a<b) else a)
print("比较小的是:" + small)
print("比较大的是:" + big)

显然简介了很多啦!

关键字:assert(断言)

assert关键字后边的条件如果为假,程序会抛出异常AssertionError,比如
在这里插入图片描述
3>4的条件是假的,所以提示异常;3<4的条件是真的,所以没有报错。

因此,可以用assert关键字作为程序的监测点。当需要确保程序中的某条件一定为真才能让程序正常工作的时候,就可以用assert了。

END

我是jammny,喜欢的点个赞加个关注吧!持续更新零基础学习python系列。

发布了19 篇原创文章 · 获赞 52 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41832837/article/details/104052634
007