定义一个枚举武将级别 WujiangLevel(士兵、火长、队正、旅帅、校尉、都尉) 使用switch 分支,根据级别,分别发饷银5、50、200、500、1000、5000两
时间: 2023-06-12 10:06:13 浏览: 66
以下是示例代码:
```python
class WujiangLevel(Enum):
SHIBING = 1
HUOZHANG = 2
DUOZHENG = 3
LVESHUAI = 4
XIAOWEI = 5
DUOWEI = 6
level = WujiangLevel.HUOZHANG
def calculate_salary(level):
salary = 0
switcher = {
WujiangLevel.SHIBING: 5,
WujiangLevel.HUOZHANG: 50,
WujiangLevel.DUOZHENG: 200,
WujiangLevel.LVESHUAI: 500,
WujiangLevel.XIAOWEI: 1000,
WujiangLevel.DUOWEI: 5000
}
salary = switcher.get(level, "Invalid level")
return salary
print("Salary for level", level.name, "is", calculate_salary(level), "liang.")
```
输出结果为:
```
Salary for level HUOZHANG is 50 liang.
```
以上代码中,我们定义了一个 WujiangLevel 枚举,用于表示不同的武将级别。接着,我们定义了一个 calculate_salary 函数,该函数接收一个 WujiangLevel 类型的参数 level,根据 level 的不同取值,使用 switch 分支来计算对应的薪资。最后,我们通过 print 函数来输出计算结果。
在输出结果中,我们使用了 level.name 来获取 level 的名称,这是因为 WujiangLevel 枚举中定义的每个取值都是一个具名常量,其名称即为该常量的字符串表示。
阅读全文