From 434ef694a843ec52a244fd72ff5057fe8ea2289b Mon Sep 17 00:00:00 2001 From: p2apfqmgs <1186275832@qq.com> Date: Sun, 27 Apr 2025 08:40:07 +0800 Subject: [PATCH] Update README.md --- README.md | 98 +++++++++++++++++++++++-------------------------------- 1 file changed, 40 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index 64b023c..540eeaa 100644 --- a/README.md +++ b/README.md @@ -55,61 +55,43 @@ PPT汇报具体要求什么的4.11课上问问,同时也可以尝试能不能 现在急需将其完善,可以在功能上进一步简化,而图形界面能看即可,确保能交差 如果可以延期就再美化,不能就能交差即可 -import pandas as pd -import numpy as np -import matplotlib.pyplot as plt - -plt.rcParams['font.sans-serif'] = ['SimHei'] -plt.rcParams['axes.unicode_minus'] = False - -movies_df_new = pd.read_csv("/data/bigfiles/movie_metadata_new.csv") -################begin######################## -#票房与预算关系 -# 筛选2014年及之后的数据 -df_2014_2016 = movies_df_new[movies_df_new['title_year'] >= 2014] - -# 按预算升序排序 -df_sorted = df_2014_2016.sort_values('budget') - -# 绘制散点图 -plt.figure(figsize=(10, 10)) -plt.scatter(df_sorted['movie_title'], df_sorted['budget'], color='red', s=20, label='budget') -plt.scatter(df_sorted['movie_title'], df_sorted['gross'], color='green', s=20, label='gross') -plt.xticks([]) -# 设置图表属性 -plt.title('电影票房与预算的关系', fontsize=20) -plt.xlabel('movie_title') -plt.ylabel('budget/gross') - - # 旋转x轴标签 - -plt.legend() -#################end######################### -plt.savefig("step5/result/pic1.png") -plt.close() - -################begin######################## -#数据归一化处理 -# 筛选2015-2016年数据(不包含2014) -df_2015_2016 = movies_df_new[(movies_df_new['title_year'] > 2014) & (movies_df_new['title_year'] <= 2016)] - -# 归一化处理 -df_2015_2016['cast_total_likes_norm'] = df_2015_2016['cast_total_likes'] / df_2015_2016['cast_total_likes'].max() -df_2015_2016['gross_norm'] = df_2015_2016['gross'] / df_2015_2016['gross'].max() - -# 演员的获赞总数与票房的关系 -plt.figure(figsize=(10, 10)) -plt.scatter(df_2015_2016['movie_title'], df_2015_2016['cast_total_likes_norm'], color='red', s=20, label='cast_total_likes') -plt.scatter(df_2015_2016['movie_title'], df_2015_2016['gross_norm'], color='green', s=20, label='gross') -plt.xticks([]) -# 设置图表属性 -plt.title('演员的获赞总数与票房的关系', fontsize=10) -plt.xlabel('movie_title') -plt.ylabel('cast_total_likes/gross') -plt.legend() - # 旋转x轴标签 - - -#################end######################### -plt.savefig("step5/result/pic2.png") -plt.close() \ No newline at end of file +def start(self): + """处理查询按钮点击事件""" + isbn = self.entry00.get().strip() + if not isbn: + self.result_text.config(state=tk.NORMAL) + self.result_text.delete(1.0, tk.END) + self.result_text.insert(tk.END, "请输入ISBN编号") + self.result_text.config(state=tk.DISABLED) + return + + # 禁用按钮防止重复点击 + self.query_button.config(state=tk.DISABLED, text="查询中...") + self.root.update() # 强制更新界面 + + try: + result = query_isbn(isbn) + self.result_text.config(state=tk.NORMAL) + self.result_text.delete(1.0, tk.END) + if isinstance(result, dict): + formatted_result = "\n".join(f"{k}: {v}" for k, v in result.items()) + self.result_text.insert(tk.END, formatted_result) + elif isinstance(result, list): + # 修改为与模糊搜索相同的输出格式 + formatted_results = "\n\n".join( + "\n".join(f"{k}: {v}" for k, v in book.items()) + for book in result + ) + self.result_text.insert(tk.END, formatted_results) + else: + self.result_text.insert(tk.END, result) + self.result_text.config(state=tk.DISABLED) + + except Exception as e: + self.result_text.config(state=tk.NORMAL) + self.result_text.delete(1.0, tk.END) + self.result_text.insert(tk.END, f"查询出错: {str(e)}") + self.result_text.config(state=tk.DISABLED) + finally: + # 恢复按钮状态 + self.query_button.config(state=tk.NORMAL, text="查询") \ No newline at end of file