例题 1 BMI 身体质量指数计算器

演示从单 ifif-elif-else 的三个版本迭代,体会分支结构逐步完善的过程。公式:BMI = 体重(kg) ÷ 身高(m)²

Python
height = float(input('身高(cm):'))
weight = float(input('体重(kg):'))
bmi = weight / (height / 100) ** 2
print(f'{bmi = :.1f}')
# 多级 if-elif-else
if bmi < 18.5:
    print('你的体重过轻!')
elif bmi < 24:
    print('你的身材很棒!')
elif bmi < 27:
    print('你的体重过重!')
elif bmi < 30:
    print('你已轻度肥胖!')
elif bmi < 35:
    print('你已中度肥胖!')
else:
    print('你已重度肥胖!')
例题 2 简易计算器(嵌套 if)

在处理除法时用嵌套 if 检查除数是否为零,演示嵌套选择结构的实际用途。

Python
num1 = float(input("请输入第一个运算数: "))
operator = input("请输入运算符(+、-、*、/): ")
num2 = float(input("请输入第二个运算数: "))

if operator == '+':
    print(num1 + num2)
elif operator == '-':
    print(num1 - num2)
elif operator == '*':
    print(num1 * num2)
elif operator == '/':
    if num2 == 0:
        print("除数不能为0")
    else:
        print(num1 / num2)
else:
    print("不支持的运算符")
例题 3 百分制成绩转等级

使用 if-elif-else 将百分制成绩转换为 A/B/C/D/E 五个等级,注意条件从高到低排列。

Python
score = int(input("请输入百分制成绩:"))
if score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 70:
    print('C')
elif score >= 60:
    print('D')
else:
    print('E')
例题 4 计算三角形周长和面积

先检查三边是否满足三角形条件(任意两边之和大于第三边),再用海伦公式计算面积。

Python
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
    l = a + b + c
    print(f'周长: {l}')
    s = l / 2
    area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
    print(f'面积: {area:.2f}')
else:
    print('不能构成三角形')
例题 5 判定闰年

闰年判断规则:能被4整除但不能被100整除,或能被400整除。注意:not > and > or

Python
year = int(input("请输入年份:"))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print("闰年")
else:
    print("平年")
例题 6 match-case 安全计算器

使用 Python 3.10+ 的 match-case 语法重写计算器,演示条件守卫(Guard)防止除零错误。

Python
def safe_calculator(operator, a, b):
    match operator:
        case "+":
            return f"{a} + {b} = {a + b}"
        case "-":
            return f"{a} - {b} = {a - b}"
        case "*":
            return f"{a} × {b} = {a * b}"
        case "/" if b != 0:   # 条件守卫
            return f"{a} ÷ {b} = {a / b}"
        case "/":
            return "❌ 错误:除数不能为0"
        case _:
            return "❌ 不支持的运算符"

print(safe_calculator("+", 10, 5))
print(safe_calculator("/", 20, 0))
例题 7 分段函数求值

根据 x 的范围,用 if-elif-else 计算分段函数的值:x<-10 时 y=1,-10≤x≤10 时 y=2,x>10 时 y=3。

Python
x = float(input("请输入x的值:"))
if x < -10:
    y = 1
elif x <= 10:
    y = 2
else:
    y = 3
print(f"y = {y}")