小编Luk*_*ort的帖子

有人知道如何简化此算法中的无限 if elif else 语句吗?

我正在尝试编写一个等级转换器,将 88% 等数字等级更改为字母等级(即 B+),但我觉得有一种比使用无休止的 elif 语句更简单的方法。理想情况下,我希望有一个条件根据范围确定字母,另一个条件确定是否根据单独的范围分配 + 或 - 。这是当前的代码:

def convert_score_to_grade_w_plus_and_minus(score):
if score in range(98, 101):
    return 'A+'
elif score in range(93, 98):
     return 'A'
elif score in range(90, 93):
    return 'A-'
elif score in range(88, 90):
    return 'B+'
elif score in range(83, 88):
    return 'B'
elif score in range(80, 83):
    return 'B-'
elif score in range(78, 80):
    return 'C+'
elif score in range(73, 78):
    return 'C'
elif score in range(70, 73):
    return 'C-'
elif score in range(68, 70): …
Run Code Online (Sandbox Code Playgroud)

python if-statement range conditional-statements

0
推荐指数
1
解决办法
141
查看次数