作品简介
“随机高分电影”是一款基于全球影评数据,智能筛选并随机推荐高分电影的服务。它覆盖多种类型与年代,旨在为用户提供惊喜且高质量的观影选择。
技术架构
python语言的tk库来完成的GUI页面设计
通过代码来完成具体的业务逻辑
开发环境、开发流程
系统:win11系统
工具:VSCode开发工具
插件:安装腾讯云AI代码助手插件
实现过程
对腾讯云AI代码助手进行提问,并在此期间适当修改
1.使用python语言的tk库,创建一个800*600像素的窗体,窗体名称为随机高分电影推荐
2.生成一个数组列表,这个列表里面存放20个高分电影与简单的电影介绍
3.添加一个显示电影名称、评分和介绍的面板,以及一个按钮,当点击按钮后就会根据数组列表随机显示一条电影名称、评分与介绍,请给出完整的代码
4.电影的名称字体设置为黑体,颜色设置为黄色,文字居中。窗体的颜色设置为浅蓝色。按钮的颠色设置为粉色。分数设置为灰色,右对齐。介绍设置为黑色,文字居中
腾讯云AI代码助手在上述过程中的助力
助力于整个开发的过程包括页面的搭建与技术逻辑的实现
项目源码
import tkinter as tk # 导入tkinter库
from tkinter import font
import random # 导入随机模块
# 创建主窗口
root = tk.Tk()
# 设置窗口背景颜色为浅蓝色
root.configure(bg="#faf0e6")
# 设置窗口大小为800x600像素
root.geometry("800x600")
# 设置窗口标题为“随机高分电影推荐”
root.title("随机高分电影推荐")
# 高分电影列表
movies = [
{
"title": "肖申克的救赎",
"score": 9.3,
"description": "银行家安迪被冤枉谋杀妻子及其情人,入狱后在肖申克监狱中凭借智慧与毅力寻求自由。"
},
{
"title": "教父",
"score": 9.2,
"description": "讲述了柯里昂家族的兴衰史,展现了黑帮家族内部的权力斗争与忠诚。"
},
{
"title": "指环王三部曲:王者无敌",
"score": 9.1,
"description": "中土世界的终极对决,弗罗多与伙伴们摧毁魔戒,拯救中土世界。"
},
{
"title": "控方证人",
"score": 9.0,
"description": "律师为谋杀罪嫌疑人辩护,剧情反转不断,充满悬疑与惊悚。"
},
{
"title": "霸王别姬",
"score": 9.6,
"description": "两位京剧伶人半个世纪的悲欢离合,展现传统文化与人性的复杂。"
},
{
"title": "美丽人生",
"score": 9.5,
"description": "父亲为保护儿子的童心,将集中营生活变成一场游戏,感人至深。"
},
{
"title": "12怒汉",
"score": 9.0,
"description": "12 位陪审员在密闭房间内对一起谋杀案进行推理,过程紧张刺激。"
},
{
"title": "星际穿越",
"score": 8.8,
"description": "宇航员穿越虫洞寻找人类新家园,科学幻想与情感交织。"
},
{
"title": "盗梦空间",
"score": 8.8,
"description": "团队潜入梦境窃取或植入信息,多层梦境设定令人脑洞大开。"
},
{
"title": "阿甘正传",
"score": 8.8,
"description": "智商有限的阿甘凭借坚持与善良,创造了非凡的人生传奇。"
},
{
"title": "这个杀手不太冷",
"score": 9.4,
"description": "职业杀手与邻家女孩之间不寻常的情感,温暖又残酷。"
},
{
"title": "千与千寻",
"score": 9.3,
"description": "小女孩误入神秘世界,经历冒险后成长,宫崎骏的经典之作。"
},
{
"title": "泰坦尼克号",
"score": 9.5,
"description": "穷画家与富家女在泰坦尼克号上的爱情故事,浪漫而悲壮。"
},
{
"title": "辛德勒的名单",
"score": 8.9,
"description": "工厂主辛德勒在二战期间拯救上千名犹太人的真实故事。"
},
{
"title": "机器人总动员",
"score": 8.8,
"description": "清洁机器人瓦力在废弃地球上的奇妙冒险,充满温情与思考。"
},
{
"title": "无间道",
"score": 9.0,
"description": "警察与黑帮卧底之间的心理博弈,紧张刺激,扣人心弦。"
},
{
"title": "当幸福来敲门",
"score": 8.9,
"description": "励志故事,克里斯在困境中坚持不懈,最终实现梦想。"
},
{
"title": "疯狂动物城",
"score": 8.1,
"description": "兔子朱迪与狐狸尼克携手破案,打破种族偏见,传递正能量。"
},
{
"title": "海上钢琴师",
"score": 9.3,
"description": "天才钢琴师1900一生从未下过船,其音乐与人生令人感慨。"
},
{
"title": "放牛班的春天",
"score": 8.9,
"description": "音乐教师用音乐改变问题学生的命运,温暖感人。"
}
]
# 创建一个字体对象,用于美化标签
custom_font = font.Font(family="Arial", size=14, weight="bold")
# 创建标签用于显示电影信息
movie_info_label = tk.Label(root, text="", font=custom_font, wraplength=700, justify="left")
movie_info_label.pack(pady=20)
def show_random_movie():
"""随机选择一部电影并显示其信息"""
movie = random.choice(movies)
info = f"《{movie['title']}》\n评分: {movie['score']}\n\n简介: {movie['description']}"
movie_info_label.config(text=info)
# 创建按钮,点击后调用show_random_movie函数
random_button = tk.Button(root, text="随机推荐一部电影", font=custom_font, bg="yellow",command=show_random_movie)
random_button.pack(pady=20)
# 进入主事件循环,等待用户操作
root.mainloop()
效果展示
可体现价值
1. **节省时间**:直接呈现高分佳作,无需用户自行筛选。
2. **发现未知**:鼓励探索不同风格与国家的电影,拓宽视野。
3. **个性化体验**:结合用户偏好,提供既惊喜又贴心的推荐。
4. **文化交流**:通过电影了解多元文化,增进理解与尊重。
5. **适用广泛**:适合各种场合与人群,提升观影乐趣。