Python中的分支结构分为单分支,双分支和多分支结构。而且强大的Python还提供了条件表达式,解决了一些简单双分支判断却要写很多语句的困扰。
下面给出单分支,双分支,多分支结构,还有if嵌套和条件表达式的实例。
单分支结构:是则做,否则不做
# 单分支结构 取钱 money = 1000 s = int(input('请输入取款金额')) # 判断余额是否充足 if money >= s: money -= s print('取款成功,余额为', money)
双分支结构:是则做这个,否则做那个
# 双分支结构 奇偶判断 num = int(input('请输入一个整数')) if num % 2 == 1: print(num, '是奇数') else: print(num, '是偶数')
上述实例表明在Python中if-else里的判断语句可以不用打括号
多分支结构:数据是连续的,有多个判断条件,对应多条执行语句
# 多分支结构 成绩评级 s = int(input('请输入学生的分数')) if 100 >= s >= 90: print('A') elif 90 > s >= 80: print('B') elif 80 > s >= 70: print('C') elif 70 > s >= 60: print('D') elif 60 > s >= 0: print('E') else: print('无效成绩')
重点:Python中可以像数学一样直接表示区间,比如上述示例
嵌套if语句使用
# 嵌套if使用 会员打折 answer = (input('您是会员吗?Y/N')) price = int(input('商品总价多少?')) if answer == 'Y': print('会员') if price >= 200: print('打8折,需付', price*0.8, '元') else: print('打9折,需付', price*0.9, '元') else: print('非会员') if price >= 200: print('打9.5折,需付', price*0.95, '元') else: print('不打折,需付', price, '元')
# 条件表达式 比较两数字的大小 num_a = 1 num_b = 2 if num_a >= num_b: print(num_a, '大于等于', num_b) else: print(num_a, '小于', num_b)
上述式子可以等价替换成下面的条件表达式
print(str(num_a) + '大于等于' + str(num_b) if (num_a >= num_b) else str(num_a) + '小于' + str(num_b))
if 前面是条件判断为true时要执行的语句,else 后面是条件判断为false是要执行的语句。
可以看出仅需要一条语句就能执行完整个分支过程,十分方便。
注意:num_a和num_b是整型(即数字),所以要使用str()将数字转化为字符串才可以正常输出。