python+gui实现一个猜数字的小游戏

编程入门 行业动态 更新时间:2024-10-15 22:28:07

python+gui实现一个猜数字的<a href=https://www.elefans.com/category/jswz/34/1769974.html style=小游戏"/>

python+gui实现一个猜数字的小游戏

设计思路:
使用python中的tkinter实现窗口猜数字小游戏

具体代码如下:

import tkinter as tk
from tkinter import messagebox
import randomclass GuiClass:root = tk.Tk(className="猜数字小游戏")  # 初始化窗口label = tk.Label(root, text="请输入0到1024之间的整数")  # 定义标签,从属于窗口text_default = tk.IntVar(value='')  # 定义变量,默认值为空input = tk.Entry(root, width=30, textvariable=text_default)  # 定义输入框,从属于窗口ok_btn = tk.Button(root, width=10, text='确认', background='lightblue')  # 定义确认按钮cel_btn = tk.Button(root, width=10, text='取消', background='lightblue')  # 定义取消按钮anw_btn = tk.Button(root, width=10, text='查看答案', background='lightblue')  # 定义查看答案按钮num = random.randint(0, 1024)  # 产生一个随机数,在0-1024之间print(num)"""创建一个显示窗口的方法"""def shou_win(self):"""获取屏幕宽高,使窗口居中"""sw = self.root.winfo_screenwidth()sh = self.root.winfo_screenheight()ww = 430wh = 160x = (sw-ww)/2y = (sh-wh)/2self.root.geometry('%dx%d+%d+%d' % (ww, wh, x, y))"""通过grid布局管理器进行布局"""self.label.grid(row=0, column=0, sticky='E', pady=5)self.input.grid(row=0, column=1, columnspan=2, pady=5)self.input.focus()# 点击确认按钮,进行猜数字, 注意,command对应执行的方法不要带括号,否则初始化的时候会执行self.ok_btn = tk.Button(self.root,  width=10, text='确认', background='lightblue', command=self.guess)# 点击取消按钮,退出游戏self.cel_btn = tk.Button(self.root,  width=10, text='取消', background='lightblue', command=self.exit)# 点击查看答案按钮,查看答案self.anw_btn = tk.Button(self.root,  width=10, text='查看答案', background='lightblue', command=self.answer)self.ok_btn.grid(row=1, column=0, sticky='W', pady=5)self.cel_btn.grid(row=1, column=1, sticky='W', pady=5)self.anw_btn.grid(row=1, column=2, sticky='W', pady=5)def guess(self):"""猜数字"""if not self.input.get():  # 判断,如果没有获取到内容,则提示未输入messagebox.showerror("错误", "未输入数字!!!")else:gn = self.input.get()  # 获取输入内容while gn.isdigit():  #  gn的值全是数字组成gn1 = int(gn)  # 转为整型if 0 <= gn1 <= 1024:  # 如果值在0-1024之间if gn1 == self.num:messagebox.showinfo("结果", "恭喜你,猜对啦!")self.root.quit()breakelif gn1 < self.num:messagebox.showinfo("结果", "猜小了哦")breakelse:messagebox.showinfo("结果", "猜大了哦")breakelse:  # 如果值不在0-1024之间,提示messagebox.showerror("错误", "不在区间范围内,请输入0-1024之间的数字")breakelse:  # 如果不是全部由数字组成messagebox.showerror("错误", "请输入整数!")return Nonedef exit(self):"""退出"""self.root.quit()def answer(self):"""查看答案"""messagebox.showinfo("答案", self.num)self.root.quit()if __name__ == '__main__':g = GuiClass()g.shou_win()g.root.mainloop()

更多推荐

python+gui实现一个猜数字的小游戏

本文发布于:2024-02-16 18:49:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1691097.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小游戏   数字   python   gui

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!