python_day5_选择结构

单分支选择结构

if语句单分支结构语法:

if 条件表达式:
    语句

其中:
条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等
语句:可以是一条语句也可以是多条语句,多条语句缩进必须一致
练习:输入一个数字,小于10则打印这个数字

num=input('请输入一个数字:')
if int(num)<10:
	print(num)
请输入一个数字:5
5

条件表达式

在选择和循环结构中,条件表达式的值为False 的情况如下:
False、0、0.0、空值None、空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range 对象、空迭代对象。
其他情况,均为True,这么看来, Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

>>> if 3:
...    print('ok')
ok
>>> a=[]
>>> if a:
...     print('False') #没有任何输出
>>> s='False' #非空字符串,是True
>>> if s:
...    print('非空字符串,是True')
非空字符串,是True

双分支选择结构

语法:

if 条件表达式:
    语句1
else:
    语句2 

试验:输入一个数字,小于10打印该数字;大于10,打印‘数字太大’

while True: #无限次执行下列代码
    num = input("请输入一个数字:")
    if int(num) < 10:
        print(num)
    else:
        print('数字太大5')
>>>
请输入一个数字:5
5
请输入一个数字:11
数字太大        

三元条件运算符

某些简单双分支赋值情况下可以用三元条件表达式,语法:
if(条件表达式)else 条件为假时的值

上面的案例可以改为:

while True:
    num = input("请输入一个数字:")
    print(num if int(num)<10 else '数字太大')

多分支选择结构

语法:

if 条件表达式1:
    语句1
elif 条件表达式2:
    语句2
.
.
.
else:
    语句n

试验:输入学生成绩,不及格(小于60)、及格(60-79)、良好(80-89)、优秀(90-100)

扫描二维码关注公众号,回复: 11123558 查看本文章
while True:
    score = float(input("请输入成绩:"))
    if score < 60:
        print('不及格')
    elif 60 <= score < 80:
        print('及格')
    elif 80 <= score < 90:
        print('良好')
    elif 90 <= score <= 100:
        print('优秀')
>>>
请输入成绩:60
及格
请输入成绩:59
不及格
请输入成绩:100
优秀

方法二:

a=['不及格','及格','良好','优秀']
grade=''
while True:
    score = int(input("请输入成绩:"))
    b=score//10-6
    if b < 0:
        grade=a[0]
    elif 0<b<2:
        grade = a[1]
    elif b>1:
        grade = a[b]
    print("分数是{0},等级是{1}".format(score,grade))

请输入成绩:80
分数是80,等级是良好
请输入成绩:79
分数是79,等级是及格
请输入成绩:90
分数是90,等级是优秀

注:多分支结构,几个分支之间有逻辑关系,不能随意颠倒顺序

while True:
    score = float(input("请输入成绩:"))
    if score < 60:
        print('不及格')
    elif score<= 100:
        print('优秀')
    elif score < 80:
        print('及格')
    elif score < 90:
        print('良好')
>>>
请输入成绩:90
优秀
请输入成绩:80
优秀
请输入成绩:40
不及格     

选择结构的嵌套

试验:输入成绩,0-100之间,90以上是A,80以上是B,70以上是C,60以上是D,60以下是E

a='ABCDE'
while True:
    score = int(input("请输入成绩:"))
    if score>100 or score<0:
        print("请输入正确的成绩")
    else:
        b=score//10
        if b-6<0:
            b=4
            print(a[4])
        else:
            print(a[4-b])
>>>
请输入成绩:101
请输入正确的成绩
请输入成绩:60
D
请输入成绩:59
E 
发布了22 篇原创文章 · 获赞 1 · 访问量 465

猜你喜欢

转载自blog.csdn.net/ws297933371/article/details/105459619
今日推荐