给定一个字典,其中键为电影名称,值为该电影的导演、主演、评分和类型,写一个函数,根据电影类型将电影分类,并计算每个分类中电影的平均评分(avg_score)、电影数(count)以及总评分(sum_score),并用一个新字典来统计这些信息,最后输出该字典的内容。(字典的结构和部分代码如下,请补全下面的程序) def classify_movies(movies_dict): type_dict = {} ____________________________ return type_dict movies = {
时间: 2024-03-16 07:44:22 浏览: 113
切换函数生成器:给定一个真值表,该函数创建布尔切换函数。-matlab开发
```
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}}
```
阅读全文