上传文件至 /

This commit is contained in:
2026-06-25 16:33:19 +08:00
parent ca81a1852b
commit 011c34f0be
4 changed files with 74 additions and 0 deletions

19
1.py Normal file
View File

@@ -0,0 +1,19 @@
import json
import matplotlib.pyplot as plt
movies = json.load(open('movies.json', encoding='utf-8'))['movies']
# print(movies)
genres = {}
for m in movies:
g = m['genre']
if g in genres:
genres[g] = genres[g] + 1
else:
genres[g] = 1
print(genres)
plt.figure(figsize=(8,5))
plt.bar(genres.keys(), genres.values())
plt.title('类型电影数量分布')
plt.xlabel('类型')
plt.ylabel('数量')
plt.savefig('q4_1_bar.png', dpi=150)

17
2.py Normal file
View File

@@ -0,0 +1,17 @@
import json
import matplotlib.pyplot as plt
movies = json.load(open('movies.json', encoding='utf-8'))['movies']
# print(movies)
ratings = []
durations = []
for m in movies:
ratings.append(m['rating'])
durations.append(m['duration'])
plt.figure(figsize=(8,5))
plt.scatter(durations,ratings,color='red',alpha=0.6)
plt.title('时长与评分关系散点图')
plt.xlabel('duration')
plt.ylabel('rating')
plt.savefig('q4_2_scatter.png', dpi=150)

BIN
3.py Normal file

Binary file not shown.

38
4.py Normal file
View File

@@ -0,0 +1,38 @@
import json
# 读取生成好的电影文件
with open("movies.json", "r", encoding="utf-8") as f:
data = json.load(f)
movie_list = data["movies"]
if len(movie_list) == 0:
print("❌ 未抓取到任何电影数据请先运行pachong.py")
else:
# ① 找出评分最高、最低电影
sorted_movies = sorted(movie_list, key=lambda x: x["rating"])
lowest_movie = sorted_movies[0]
highest_movie = sorted_movies[-1]
print("\n① 评分最高&最低电影:")
print(f"评分最低:{lowest_movie['title']} {lowest_movie['rating']}")
print(f"评分最高:{highest_movie['title']} {highest_movie['rating']}")
# ② 统计各类型电影数量(字典输出)
genre_count = {}
for m in movie_list:
g = m["genre"]
genre_count[g] = genre_count.get(g, 0) + 1
print("\n② 各类型电影数量:", genre_count)
# ③ 统计各导演电影数量(字典输出)
director_count = {}
for m in movie_list:
d = m["director"]
director_count[d] = director_count.get(d, 0) + 1
print("\n③ 各导演电影数量:", director_count)
# ④ 统计2020年以后上映电影
count_2020 = 0
for m in movie_list:
if m["year"] >= 2020:
count_2020 += 1
print(f"\n④ 2020年(含)后上映电影总数:{count_2020}")