一、定义
条件语句,也叫作选择语句、判断语句。根绝特定条件判断是否成立,执行不同的语句段。简单来说,满足条件执行,不满足不执行。
条件语句是使用关键字 if 做判断,根据不同情况结合不同的关键字else 或者 elif来进行判断,总来的来说,有三种形式。
!!!注意:
语法格式:if else elif后面以冒号结尾,执行语句要缩进(tab)
二、类型
1.if单分支
if 表达式:代码块[执行语句]
2.if双分支
if 表达式:执行语句1
else:执行语句2
3.if多分支
if 表达式1:执行语句1
elif 表达式2:执行语句2
elif 表达式3:执行语句3
else:执行语句n执行逻辑:先判断表达式1,为True执行语句1,为False判断表达式2,表达式2
为True执行表达式,为False继续判断表达式3……
4.if分支嵌套(注意缩进)
if 表达式1:if 表达式1-1:执行语句1-1else:执行语句1-2
elif 表达式2:if 表达式2-1:执行语句2-1else:执行语句2-2
else:执行语句3!!!注意缩进!!!
三、match...case
match 表达式:case 模式1:执行语句1case 模式2:执行语句2……case _:其他情况
练习1.从键盘输入一个月份,判断它所处的季节
12 1 2 冬季 3 4 5 春季 6 7 8 夏季 9 10 11秋季month = int(input("请输入一个月份"))
match month:case 12 | 1 | 2:print("冬季")case 3 | 4 | 5:print("春季")case 6 | 7 | 8:print("夏季")case 9 | 10 | 11:print("秋季")case _:print("输入月份有误,重新输入")
四、练习
从键盘上输入一个人的年龄,
判断他属于人生哪个阶段,如果年龄在1(包含)~12之间,输出‘童年’,
如果年龄在12(包含)~18之间,输出‘少年’,
如果大于等于18岁,则输出成年,
如果输入非数字或者小于1,提示输出错误age = int(input("请输入一个年龄"))
match age:case x if 1<=x<12:print("童年")case x if 12<=x<18:print("少年")case x if x>=18:print("成年")case _:print("输入有误,重新输入")
1.从键盘输入一个成绩,判断成绩的等级,[90,100]等级A [80,90)等级B [70,80)等级C [60,70)等级D 其他是等级E
score=float(input("输入成绩"))
if 90<=score<=100:print("等级A")
elif 80<=score<90:print("等级B")
elif 70<=score<80:print("等级C")
elif 60<=score<70:print("等级D")
elif 0<=score<60:print("等级E")
else:print("输入错误")
2.从键盘输入三角形的 三个边长 判断能否构成三角形,如果能 输出能构成三角形 再输出是什么三角形 等边 等腰 直角 普通 如果不能 输出不能构成三角形
a=float(input("输入三条边"))
b=float(input("输入三条边"))
c=float(input("输入三条边"))
if a+b>c or a+c>b or b+c>a:print("能构成三角形")if a==b==c:print("是等边三角形")elif a==b or b==c or c==a:print("是等腰三角形")elif a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:print("是直角三角形")else:print("是普通三角形")
else:print("不能构成三角形")
3.从键盘输入数字,判断这个数字是不是水仙花数。
num=int(input("输入一个三位数"))
g=num%10
s=num//10%10
b=num//100
if g**3+s**3+b**3==num and 99<num<1000:print("是水仙花数")
else:print("不是水仙花数")