MST

星途 面试题库

面试题:Python中替代switch case的常见方式及应用场景

请简述Python中至少两种替代switch case语句的方式,并分别举例说明在什么样的场景下使用这些方式较为合适。
37.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

1. 使用字典(dict

  • 适用场景:适用于根据一个固定值进行不同分支处理,且分支数量相对有限的场景,比如简单的命令映射、状态机等。
  • 示例
def get_discount(level):
    discount_map = {
        'A': 0.1,
        'B': 0.05,
        'C': 0.03
    }
    return discount_map.get(level, 0)


print(get_discount('A'))

2. 使用if - elif - else语句

  • 适用场景:适用于条件判断较为复杂,可能涉及范围比较、逻辑运算等场景,并且分支数量没有特别限制。
  • 示例
def get_tax(income):
    if income < 10000:
        return 0
    elif 10000 <= income < 30000:
        return income * 0.05
    else:
        return income * 0.1


print(get_tax(15000))