Python猜数游戏

下载random库

pip install random

代码:

import random
import tkinter as tk

# 定义一个函数guess_number,用于接收用户输入的数字,并判断是否正确
def guess_number():
    global secret_number
    global attempts

    # 尝试获取用户输入的数字
    try:
        guess = int(entry.get())
    # 如果用户输入的不是数字,则提示用户输入数字
    except ValueError:
        result_label.configure(text="请输入一个数字!")
        return

    # 如果用户输入的数字小于秘密数字,则提示用户猜小了
    if guess < secret_number:
        result_label.configure(text="猜小了!")
    # 如果用户输入的数字大于秘密数字,则提示用户猜大了
    elif guess > secret_number:
        result_label.configure(text="猜大了!")
    # 如果用户输入的数字等于秘密数字,则提示用户猜对了,并开始下一局游戏
    else:
        result_label.configure(text=f"恭喜你,猜对了!共猜了{attempts}次。")
        start_game()

    # 清空用户输入框
    entry.delete(0, tk.END)
    # 尝试次数加1
    attempts += 1

# 定义一个函数start_game,用于开始游戏
def start_game():
    global secret_number
    global attempts

    # 随机生成秘密数字
    secret_number = random.randint(1, 100)
    # 重置尝试次数
    attempts = 0
    # 提示用户输入数字
    result_label.configure(text="请输入一个1到100之间的数字:")

# 创建一个Tk对象
root = tk.Tk()
# 设置窗口标题
root.title("猜数字游戏")

# 初始化秘密数字和尝试次数
secret_number = 0
attempts = 0

# 创建一个Entry对象,用于接收用户输入的数字
entry = tk.Entry(root, width=20)
entry.pack()

# 创建一个按钮,用于开始游戏
start_button = tk.Button(root, text="开始游戏", command=start_game)
start_button.pack()

# 创建一个Label对象,用于显示游戏结果
result_label = tk.Label(root, text="", width=30)
result_label.pack()

# 创建一个按钮,用于提交用户输入的数字
guess_button = tk.Button(root, text="提交猜测", command=guess_number)
guess_button.pack()

# 运行窗口
root.mainloop()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这段Python代码实现了一个简单的猜数字游戏。游戏规则如下:用户需要在输入框中输入一个1到100之间的数字,然后按“提交猜测”按钮。程序会根据用户输入的数字给出提示,直到用户猜对为止。每次游戏结束后,用户可以重新开始新的一局游戏。

实现原理:使用Python的tkinter库创建了一个简单的图形用户界面(GUI),包括一个输入框、一个按钮和一个Label。输入框用于接收用户输入的数字,按钮用于开始游戏和提交猜测,Label用于显示游戏结果。程序使用全局变量来记录秘密数字和尝试次数,并在每次游戏结束时重置这些变量。

用途:适合 children 和 primary school level 的学生,可以培养他们的逻辑思维能力。

注意事项:在使用此程序时,请确保已安装Python和tkinter库。在运行程序后,请务必点击“开始游戏”按钮以开始新的一局游戏。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值