单分支判断
语法规则:
if 条件:
条件满足时,执行的语句.......
age = 18
if age >= 18:
print("你已经成年")
print("你已经可以上网了")
print("赶紧回家吃饭")
双分支判断
语法规则:
- if 条件:
- 条件满足时,执行语句......
- else:
- 条件不满足时,执行的语句......
age = 16
if age >= 18:
print("你已经成年")
print("你已经可以上网了")
else:
print("赶紧回家吃饭")
练习:
- 根据分数区间,打印出对应的级别
- 大于等于90并且小于等于100 :优秀
- 大于等于80并且小于90:良好
- 大于等于60并且小于80:及格
- 大于等于0并且小于60:不及格
score = int(input("请输入您的分数:"))
if 90 <= score<=100:
print("优秀")
if 80 <= score<90:
print("良好")
if 60 <= score<80:
print("及格")
if 0 <= score<60:
print("不及格")
if嵌套
对上一段代码进行优化:减少判定的次数
score = int(input("请输入您的分数:"))
if 90 <= score<=100:
print("优秀")
else:
if 80 <= score<90:
print("良好")
else:
if 60 <= score<80:
print("及格")
else:
if 0 <= score<60:
print("不及格")
语法规则:
- if 条件1:
- if 条件2:
- 条件满足时执行语句......
- else:
- 条件不满足时执行语句......
- else:
- if 条件2:
- 条件满足时执行语句......
- else:
- 条件不满足时执行语句......
多分支循环
对上一段代码进行优化:增加代码的可阅读性
score = int(input("请输入您的分数:"))
if 90 <= score<=100:
print("优秀")
elif 80 <= score<90:
print("良好")
elif 60 <= score<80:
print("及格")
elif 0 <= score<60:
print("不及格")
语法规则:
- if 条件:
- 条件满足时执行语句......
- elif 条件:
- 条件满足时执行语句....
- else:
- 以上条件都不满足时执行的语句.....
案例练习 :体脂率
#输入
Height = float(input("请输入身高(m):"))
Weight = float(input("请输入体重(kg):"))
Age = int(input("请输入年龄:"))
Sex = int(input("请输入性别(男:1,女:0):"))
#容错处理
if not(0<Height<3 and 0<Weight<300 and 0<Age<150 and (Sex==1 or Sex==0)):
print("数据不满足需求,程序退出")
exit()
#处理数据
BMI = Weight/(Height*Height)
TZL = 1.2*BMI+0.23*Age-5.4-18.8*Sex
TZL/=100
#判定体脂率是否在正常范围之内
#正常成年人的体脂率分别是男性15%-18%和女性25%-28%
minNum = 0.15+0.01*(1-Sex)
maxNum = 0.18+0.01*(1-Sex)
#输出
# 告诉用户,是否正常
#问好
if Sex==1:
wenhou = "先生您好!"
elif Sex==0:
wenhou = "女士您好!"
#提示部分
if minNum < TZL <maxNum:
notice = "恭喜您,身体健康,继续保持"
elif TZL <= minNum:
notice = "请注意身体,您的身体偏瘦"
else:
notice = "请注意身体,您的身体偏胖"
print(wenhou + notice)
作业:用户登录
user_name = "201811101"
password = "jj1124"
inp_name = input("请输入您的用户名:")
inp_password = input("请输入您的密码:")
if inp_name == "201811101" and inp_password == "jj1124":
print("登录成功!")
elif inp_name != "201811101" and inp_password == "jj1124":
print("账号错误!")
elif inp_name == "201811101" and inp_password != "jj1124":
print("密码错误!")
else:
print("账号和密码均错误!")