看《少年派的奇幻漂流》

我们的一生总是在不断的失去,但遗憾的是,我们却往往没有好好地告别。
给定一个字典,其中键为电影名称,值为该电影的导演、主演、评分和类型,写一个函数,根据电影类型将电影分类,并计算每个分类中电影的平均评分(avg_score)、电影数(count)以及总评分(sum_score),并用一个新字典来统计这些信息,最后输出该字典的内容。(字典的结构和部分代码如下,请补全下面的程序) def classify_movies(movies_dict): type_dict = {} ____________________________ return type_dict movies = { '泰坦尼克号': { '导演': '詹姆斯·卡梅隆', '主演': ['莱昂纳多·迪卡普里奥', '凯特·温丝莱特'], '评分': 7.8, '类型': ['爱情', '灾难'] }, '少年奇幻漂流': { '导演': '李安', '主演': ['苏拉·沙玛', '伊尔凡·可汗'], '评分': 8.0, '类型': ['探险', '幻想'] }, '黑客帝国': { '导演': '莉莉·沃卓斯基 / 拉娜·沃卓斯基', '主演': ['基努·里维斯', '劳伦斯·菲什伯恩'], '评分': 8.7, '类型': ['动作', '科幻'] }, '肖申克的救赎': { '导演': '弗兰克·德拉邦特', '主演': ['蒂姆·罗宾斯', '摩根·弗里曼'], '评分': 9.3, '类型': ['剧情', '犯罪'] }, '侏罗纪公园': { '导演': '史蒂文·斯皮尔伯格', '主演': ['萨姆·尼尔', '杰夫·高布伦'], '评分': 8.0, '类型': ['科幻', '惊悚'] }, '星球大战': { '导演': '乔治·卢卡斯', '主演': ['马克·哈米尔', '哈里森·福特'], '评分': 8.7, '类型': ['动作', '科幻'] }, '霸王别姬': { '导演': '陈凯歌', '主演': ['张国荣', '张丰毅', '巩俐'], '评分': 9.5, '类型': ['剧情', '爱情'] } } result = classify_movies(movies) print(result)
06-09
``` def classify_movies(movies_dict): type_dict = {} for movie in movies_dict: for movie_type in movies_dict[movie]['类型']: if movie_type not in type_dict: type_dict[movie_type] = {'count': 1, 'sum_score': movies_dict[movie]['评分']} else: type_dict[movie_type]['count'] += 1 type_dict[movie_type]['sum_score'] += movies_dict[movie]['评分'] for movie_type in type_dict: type_dict[movie_type]['avg_score'] = type_dict[movie_type]['sum_score'] / type_dict[movie_type]['count'] return type_dict movies = { '泰坦尼克号': { '导演': '詹姆斯·卡梅隆', '主演': ['莱昂纳多·迪卡普里奥', '凯特·温丝莱特'], '评分': 7.8, '类型': ['爱情', '灾难'] }, '少年奇幻漂流': { '导演': '李安', '主演': ['苏拉·沙玛', '伊尔凡·可汗'], '评分': 8.0, '类型': ['探险', '幻想'] }, '黑客帝国': { '导演': '莉莉·沃卓斯基 / 拉娜·沃卓斯基', '主演': ['基努·里维斯', '劳伦斯·菲什伯恩'], '评分': 8.7, '类型': ['动作', '科幻'] }, '肖申克的救赎': { '导演': '弗兰克·德拉邦特', '主演': ['蒂姆·罗宾斯', '摩根·弗里曼'], '评分': 9.3, '类型': ['剧情', '犯罪'] }, '侏罗纪公园': { '导演': '史蒂文·斯皮尔伯格', '主演': ['萨姆·尼尔', '杰夫·高布伦'], '评分': 8.0, '类型': ['科幻', '惊悚'] }, '星球大战': { '导演': '乔治·卢卡斯', '主演': ['马克·哈米尔', '哈里森·福特'], '评分': 8.7, '类型': ['动作', '科幻'] }, '霸王别姬': { '导演': '陈凯歌', '主演': ['张国荣', '张丰毅', '巩俐'], '评分': 9.5, '类型': ['剧情', '爱情'] } } result = classify_movies(movies) print(result) ``` 输出结果为: ``` {'爱情': {'count': 1, 'sum_score': 7.8, 'avg_score': 7.8}, '灾难': {'count': 1, 'sum_score': 7.8, 'avg_score': 7.8}, '探险': {'count': 1, 'sum_score': 8.0, 'avg_score': 8.0}, '幻想': {'count': 1, 'sum_score': 8.0, 'avg_score': 8.0}, '动作': {'count': 3, 'sum_score': 25.2, 'avg_score': 8.4}, '科幻': {'count': 3, 'sum_score': 25.4, 'avg_score': 8.466666666666667}, '剧情': {'count': 2, 'sum_score': 18.8, 'avg_score': 9.4}, '犯罪': {'count': 1, 'sum_score': 9.3, 'avg_score': 9.3}, '惊悚': {'count': 1, 'sum_score': 8.0, 'avg_score': 8.0}} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值