先看例题
用for循环实现字典输入创建字典由全班 5 名学生的学号和成绩组成 5 个键 - 值对,学生学号为键名,学生成绩为键值,学号和相对应的成绩从键盘输入,输出字典,输出其中最高分和最低分以及与之对应的学生学号,并求出全部同学的平均分。
stu_score_get={}
for i in range(1,6):
print("第" + str(i) + "个学生的学号:")
a =input()
print("第" + str(i) + "个学生的成绩:")
b =eval(input())
stu_score_get[a]=b
print(stu_score_get)
tu_score=sorted(stu_score_get.values())##对字典按照值进行排序
排序后的字典会变成一串列表
接下来
highest_stu_score=stu_score[-1] lowest_stu_score=stu_score[0]通过遍历用value找出键
for x in stu_score_get.values():
if x==highest_stu:
highest_stu_score=list(stu_score_get.keys())[list(stu_score_get.values()).index(x)]
for y in stu_score_get.values():
if y==lowest_stu:
lowest_stu_score=list(stu_score_get.keys())[list(stu_score_get.values()).index(y)]
average_score=sum(stu_score_get.values())/5
print("最高分为"+ str(highest_stu) + "学号是是:" + str(highest_stu_score))
print("最低分为"+ str(lowest_stu) + "成绩是:" + str(lowest_stu_score))
print("平均分是:"+str(average_score))
最后
stu_score_get={}
for i in range(1,6):
print("第" + str(i) + "个学生的学号:")
a =input()
print("第" + str(i) + "个学生的成绩:")
b =eval(input())
stu_score_get[a]=b
print(stu_score_get)
stu_score=sorted(stu_score_get.values())
print(stu_score)
highest_stu=stu_score[-1]
lowest_stu=stu_score[0]
for x in stu_score_get.values():
if x==highest_stu:
highest_stu_score=list(stu_score_get.keys())[list(stu_score_get.values()).index(x)]
for y in stu_score_get.values():
if y==lowest_stu:
lowest_stu_score=list(stu_score_get.keys())[list(stu_score_get.values()).index(y)]
average_score=sum(stu_score_get.values())/5
print("最高分为"+ str(highest_stu) + "学号是是:" + str(highest_stu_score))
print("最低分为"+ str(lowest_stu) + "成绩是:" + str(lowest_stu_score))
print("平均分是:"+str(average_score))
字典中,键是唯一的但值不是唯一的,因此此程序只对值唯一的成立。



