Python初学者项目练习12--找出年龄最大者

Python初学者项目练习12--找出年龄最大者 一、练习题目给定一个字典其中每个人的姓名作为键对应的年龄作为值。请找出年龄最大者的姓名和年龄。二、代码1.初始版本代码如下people{小张:12,小王:78,小李:52,小华:33,小花:8}# 定义变量保存最大年龄和对应的姓名 max_agefloat(-inf)# 将最大年龄初始化为负无穷大确保任何年龄都会比它大 max_name# 将最大年龄对应的姓名初始化为空字符 # 遍历字典中每一个键值对forname,age in people.items():print(name,age)# 如果当前年龄大于最大年龄ifagemax_age:max_ageage max_namenameprint(f年龄最大者姓名{max_name},年龄最大者年龄{max_age})年龄最大者姓名小王,年龄最大者年龄782.其他版本注意不能直接 max(people)或者不能直接 sorted(people)max_agemax(people)输出小花这样是对字典的键key进行排序的max_agemax(people.values())输出78但是得到就只是年龄得不到对应的姓名max_name,max_agemax(people.items(),keylambda x:x[1])输出年龄最大者姓名小王,年龄最大者年龄78解析people.items() 得到dict_items([(‘小张’, 12), (‘小王’, 78), (‘小李’, 52), (‘小华’, 33), (‘小花’, 8)])每一项都是一个元组lambda x: x[1] 这里x (‘小张’, 12)x[0] ——姓名x[1] ——年龄x[1] 12 / 78 / 52然后max比较年龄大小然后自动拆解得到姓名和年龄3.其他版本也可以用排序方法前面学的sorted:代码如下people{小张:12,小王:78,小李:52,小华:33,小花:8}xsorted(people.items(),keylambda x:x[1],reverseTrue)print(x)max_name,max_agex[0]print(f年龄最大者姓名{max_name},年龄最大者年龄{max_age})输出[(‘小王’, 78), (‘小李’, 52), (‘小华’, 33), (‘小张’, 12), (‘小花’, 8)] # 是x年龄最大者姓名小王,年龄最大者年龄78总结-inf 是负无穷people.items() 使用方法max 函数使用sorted 函数使用