基于Python开发一个班级互动小程序
作者:封奚泽优
这篇文章主要为大家详细介绍了一个基于Python和Tkinter开发的班级互动小程序,通过点击按钮随机生成趣味惩罚任务,下面我们就来看看具体实现代码吧
这是一个基于Python和Tkinter开发的班级互动小程序,专为高中教师设计,通过点击按钮随机生成趣味惩罚任务,可用于课堂活动或班级游戏。程序界面友好美观,包含50多种无害且富有创意的惩罚内容,如表演才艺、模仿老师说话、做俯卧撑等,既能活跃课堂气氛又不会伤害学生自尊心。窗口自动居中显示,操作简单直观,是增强师生互动、营造轻松课堂环境的实用工具。
想法是看了这个沙雕动画,感觉有点意思。
完整代码
import tkinter as tk import random class PunishmentApp: def __init__(self, root): self.root = root self.root.title("班级惩罚小程序") self.root.geometry("600x500") self.root.configure(bg='#f0f0f0') self.root.resizable(False, False) # 禁止调整窗口大小 # 使窗口居中显示 self.center_window() # 惩罚内容列表(已大幅扩展) self.punishments = [ "唱一首歌曲", "模仿一位老师说话", "做10个俯卧撑", "讲一个笑话", "表演一个才艺", "回答三个同学的问题", "背诵一首古诗", "模仿一种动物", "说一件自己的糗事", "表演一段舞蹈", "用方言读一段课文", "做鬼脸五连拍", "夸奖三位同学", "分享一个励志故事", "表演一个电影片段", "倒背26个英文字母", "用屁股写自己的名字", "模仿机器人走路", "说一段绕口令", "模仿名人签名", "表演一个广告", "模仿雕塑不动1分钟", "用三种语言说'我爱你'", "表演触电的感觉", "表演中奖后的反应", "表演憋气1分钟", "模仿时装模特走台步", "表演晕倒", "模仿老人走路", "表演生吃柠檬的表情", "用五种语气说'我是最棒的'", "表演被蚊子叮的反应", "模仿婴儿哭", "表演肚子疼", "模仿交警指挥交通", "表演害羞的样子", "模仿新闻主播播报新闻", "表演抽筋", "模仿服务员点菜", "表演思考者的姿势", "模仿外星人", "表演打喷嚏", "模仿动物叫声", "表演打嗝", "模仿打电话", "表演害羞", "模仿明星唱歌", "表演打篮球", "模仿老师上课", "表演吃辣条的表情" ] # 创建界面元素 self.create_widgets() def center_window(self): """使窗口在屏幕上居中显示""" self.root.update_idletasks() width = self.root.winfo_width() height = self.root.winfo_height() x = (self.root.winfo_screenwidth() // 2) - (width // 2) y = (self.root.winfo_screenheight() // 2) - (height // 2) self.root.geometry('{}x{}+{}+{}'.format(width, height, x, y)) def create_widgets(self): # 标题 title_label = tk.Label( self.root, text="班级惩罚小程序", font=("微软雅黑", 24, "bold"), fg="#2c3e50", bg='#f0f0f0' ) title_label.pack(pady=20) # 说明文字 desc_label = tk.Label( self.root, text="点击下方按钮随机生成一个惩罚内容", font=("微软雅黑", 12), fg="#7f8c8d", bg='#f0f0f0' ) desc_label.pack(pady=5) # 按钮 self.button = tk.Button( self.root, text="生成惩罚", command=self.generate_punishment, font=("微软雅黑", 16), bg="#3498db", fg="white", width=15, height=2, relief="flat", cursor="hand2" ) self.button.pack(pady=30) # 结果显示框 self.result_frame = tk.Frame(self.root, bg='#ffffff', relief="solid", bd=1) self.result_frame.pack(pady=10, padx=50, fill="both", expand=True) self.result_label = tk.Label( self.result_frame, text="等待生成惩罚...", font=("微软雅黑", 18), fg="#2c3e50", bg="#ffffff", wraplength=480, justify="center" ) self.result_label.pack(expand=True) # 底部信息 footer_label = tk.Label( self.root, text="仅供班级活动使用,请勿用于恶意目的 • 惩罚内容总数: {}".format(len(self.punishments)), font=("微软雅黑", 9), fg="#95a5a6", bg='#f0f0f0' ) footer_label.pack(side="bottom", pady=10) def generate_punishment(self): # 随机选择一个惩罚 punishment = random.choice(self.punishments) # 更新显示 self.result_label.config(text=punishment) # 播放提示音 self.root.bell() # 创建主窗口 if __name__ == "__main__": root = tk.Tk() app = PunishmentApp(root) root.mainloop()
效果图如下
到此这篇关于基于Python开发一个班级互动小程序的文章就介绍到这了,更多相关Python班级互动程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!