利用Python字典的值映射实现学生成绩转等级

云课堂学Python 2024-12-28 02:32:55

Python 字典中的值映射让数据组织和检索更高效。通过将多个键与相同的值相关联,我们可以轻松地将相关数据联系在一起。

从本质上讲,Python 字典允许您在两个值之间创建关联。这些关联称为键值对,其中每个键都与其对应的值相关联。

利用 Python 字典中的值映射,可以方便的实现学生成绩到等级的转换。

示例 1:# 定义成绩与等级的对应关系grade_levels = { 'A': range(90, 101), # 90-100 'B': range(80, 90), # 80-89 'C': range(70, 80), # 70-79 'D': range(60, 70), # 60-69 'E': range(0, 60) # 0-59} # 遍历字典,找到对应的等级scores = [95, 85, 75, 65, 55]for score in scores: for level, score_range in grade_levels.items(): if score in score_range: print(f"成绩:{score}, 等级:{level}")

输出:

成绩:95, 等级:A 成绩:85, 等级:B 成绩:75, 等级:C 成绩:65, 等级:D 成绩:55, 等级:E

在这个示例中,我们定义了一个字典 grade_levels,它包含每个等级及其对应的成绩范围。然后,我们遍历字典中的每个键值对,检查成绩是否在某个范围内。如果找到匹配的范围,则返回相应的等级。

示例 2:score = { "zhangsan": 85, "lisi": 92, "wangwu": 78, "zhaoliu": 95}grade_levels = { (90, 100): "A", (80, 89): "B", (70, 79): "C", (60, 69): "D", (0, 59): "F"}level = {}for student, grade in score.items(): for score_range, letter_grade in grade_levels.items(): if grade >= score_range[0] and grade <= score_range[1]: level[student] = letter_grade breakprint(level)

输出:

{'zhangsan': 'B', 'lisi': 'A', 'wangwu': 'C', 'zhaoliu': 'A'}

在这个示例中,使用两个字典分别保存学生姓名成绩及每个等级及其对应的成绩范围,遍历字典中的每个键值对,检查成绩是否在某个范围内。以字典的形式输出学生姓名和等级。

0 阅读:0