分支结构
应用场景
- 玩游戏,根据得分是否进入下一关,天天爱消除
- 周末出入玩还是宅在家
- 比赛根据得分对阵不同等级的人
if的使用
if  elif  else 作为关键字很显然不能用作变量
Python中利用缩进来判断是否属于统一代码块,而不是大括号
例子
分段求函数值
'''
        3x - 5 (x>1)
f(x) =  x + 2 (-1 <= x <= 1)
        5x + 3 (x < -1)
'''
x = float(input("please input a number:"))
if x > 1:
    y = 3 * x - 5
elif x >= -1:
    y = x + 2
else:
    y = 5 * x + 3
print("f(%.2f) = %.2f" % (x,y))嵌套分段函数求值
'''
        3x - 5 (x > 1)
f(x) =  x + 2 (-1 <= x <= 1)
        5x + 3 (x < -1)
'''
x = float(input("please input a number:"))
if x > 1:
    y = 3 * x - 5
else:
    if x >= -1:
        y = x + 2
    else:
        y = 5 * x + 3
print("f(%.2f) = %.2f" % (x,y))说明:Flat is better than nested “扁平化”
练习
英制单位与公制单位转换(英寸和厘米)
1英寸 = 1厘米 * 2.54
length = float(input("请输入长度:"))
unit = input("请输入单位:")
if unit == 'in' or unit == "英寸":
    print("%f英寸 = %f厘米" % (value, value * 2.54))
elif unit == "cm" or unit == "厘米":
    print("%f厘米 = %f英寸" % (value, value / 2.54))
else:
    print("输入单位有误")掷骰子决定做什么
from random import randint
face = randint(1,6)
if face == 1:
    reslut = "唱首歌"
elif face == 2:
    result = "跳个舞"
elif face == 3:
    result = "学猫叫"
elif face == 4:
    result = "绕口令"
elif face == 5:
    result = "讲笑话"
else:
    result = "俯卧撑"
print(result)百分制成绩转等级制
'''
90分以上    --> A
80分~89分    --> B
70分~79分       --> C
60分~69分    --> D
60分以下    --> E
'''
score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('对应的等级是:', grade)输入三条边长判断能否构成三角形并计算周长和面积
import math
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if a + b > c and a + c > b and b + c > a:
    print("周长为:%f" % (a + b + c))
    p = (a + b + c) / 2
    print("面积为:%f" % (math.sqrt(p * (p - a) * (p - b) * (p - c))))
else:
    print("n不能构成三角形")个人所得税计算
salary = float(input('本月收入: '))
insurance = float(input('五险一金: '))
diff = salary - insurance - 3500
if diff <= 0:
    rate = 0
    deduction = 0
elif diff < 1500:
    rate = 0.03
    deduction = 0
elif diff < 4500:
    rate = 0.1
    deduction = 105
elif diff < 9000:
    rate = 0.2
    deduction = 555
elif diff < 35000:
    rate = 0.25
    deduction = 1005
elif diff < 55000:
    rate = 0.3
    deduction = 2755
elif diff < 80000:
    rate = 0.35
    deduction = 5505
else:
    rate = 0.45
    deduction = 13505
tax = abs(diff * rate - deduction)
print('个人所得税: ¥%.2f元' % tax)
print('实际到手收入: ¥%.2f元' % (diff + 3500 - tax))