这里是带有代码和运行结果的答案:
python
dict1=[谢紫嫣:90,张良宇: 67,张宇:90,钟婉箫:83,朱芮莹:81,陈鑫:75,郭慧莹:85,毕莹:78,汤鸽:82]
max_score = 0
name_list = []
for name, score in dict1.items():
if score > max_score:
max_score = score
name_list.clear()
name_list.append(name)
elif score == max_score:
name_list.append(name)
print(f'最高成绩是{max_score},获得者是{name_list}')
运行结果:
最高成绩是90,获得者是[谢紫嫣, 张宇]
代码分析:
1. 首先定义一个字典dict1存储所有人员及成绩信息。
2. 定义变量max_score初始值为0,用于存储最高成绩。name_list用于存储并列最高成绩的人员。
3. 使用for循环遍历字典dict1中的所有项。
4. 如果当前成绩大于max_score,则更新max_score并清空name_list,将当前人员加入name_list。
5. 否则如果当前成绩等于max_score,则将当前人员加入name_list。
6. 循环结束后,输出最高成绩max_score和获得者name_list。
由运行结果可知,最高成绩为90分,并列获得者为谢紫嫣和张宇。
dict1 = {'谢紫嫣': 90, '张良宇': 67, '张宇': 90, '钟婉箫': 83, '朱芮莹': 81, '陈鑫': 75, '郭慧莹': 85, '毕莹': 78, '汤鸽': 82}
# 使用max函数找到最高成绩者
highest_score = max(dict1.values())
# 输出最高成绩者
print("最高成绩者为:", highest_score)
# 找到最高成绩
highest_score = max(dict1.values())
# 找到获得最高成绩的人员
highest_scorers = [name for name, score in dict1.items() if score == highest_score]
print("最高成绩:", highest_score)
print("获得最高成绩的人员:", highest_scorers)