|
发表于 2023-4-9 18:25:24
|
显示全部楼层
- import random
- import tkinter as tk
- class GuessingGame(tk.Frame):
- def __init__(self, master=None):
- super().__init__(master)
- self.master = master
- self.master.title("猜数字游戏")
- self.pack()
- self.create_widgets()
- self.new_game()
- def create_widgets(self):
- self.number_label = tk.Label(self, text="猜一个 1 到 100 之间的数字")
- self.number_label.pack(pady=10)
- self.guess_entry = tk.Entry(self, width=20)
- self.guess_entry.pack(pady=10)
- self.guess_button = tk.Button(self, text="猜一下", command=self.check_guess)
- self.guess_button.pack()
- self.result_label = tk.Label(self, text="")
- self.result_label.pack(pady=10)
- self.new_game_button = tk.Button(self, text="开始新游戏", command=self.new_game)
- self.new_game_button.pack(pady=10)
- def new_game(self):
- self.number = random.randint(1, 100)
- self.guess_entry.delete(0, tk.END)
- self.result_label.config(text="")
- self.guess_button.config(state="normal")
- self.guess_entry.config(state="normal")
- def check_guess(self):
- guess = self.guess_entry.get()
- try:
- guess = int(guess)
- except ValueError:
- self.result_label.config(text="请输入一个数字")
- return
- if guess < 1 or guess > 100:
- self.result_label.config(text="请输入一个 1 到 100 之间的数字")
- return
- if guess == self.number:
- self.result_label.config(text="恭喜你,猜中了!")
- self.guess_button.config(state="disabled")
- self.guess_entry.config(state="disabled")
- elif guess < self.number:
- self.result_label.config(text="你猜的数字太小了,请再猜一次。")
- else:
- self.result_label.config(text="你猜的数字太大了,请再猜一次。")
- root = tk.Tk()
- app = GuessingGame(master=root)
- app.mainloop()
复制代码 |
|