1、场景:
杨老师拿到自己班上的学生成绩单后,特别想知道高于60、70、80、90分的同学到底有哪些,又不会excel,于是求助刚学编程的老公夏某,帮她编写一个程序,只需要输入分数,就能自动输出高于该分数对应的学生名和分数。夏某冥思苦想,于是决定用刚学的filter()函数来进行迭代对象处理。
2、实现思路
1、将学生的名字:分数字典用dict.items转化为列表嵌套元组的形式
2、编写用于识别单个同学的函数体
3、使用filter(函数体名,迭代对象)方法筛选出对应对象
3、代码演示
成绩单 = {"小明": 100, '小红': 99, "小白": 40, '小黑': 34}
x = int(input('你想获取高于多少分以上同学的名单和相关分数:'))
def 筛选成绩(i, x=x):
if i[1] > x:
return i
y = filter(筛选成绩, 成绩单.items())
print(dict(y))
4、输出结果
你想获取高于多少分以上同学的名单和相关分数:70
{'小明': 100, '小红': 99}
小白学习中,不喜勿喷,请多指教