Python实现图形界面猜数字游戏(GUI)

Python实现图形界面猜数字游戏(GUI)

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼的B站

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!


  本文为使用Python做个一个图形化的猜数字小游戏。可以设置每次可以尝试猜测的范围以及可以尝试的次数。
效果图为:
在这里插入图片描述

在这里插入图片描述

import tkinter as tk
import random
number = random.randint(0,1024)
running = True
num = 0
nmaxn = 1024
nminn = 0
def eBtnClose(event):
    root.destroy()
def eBtnGuess(eent):
    global nmaxn
    global nminn
    global num
    global running
    if running:
        var_a = int(entry_a.get())
        if var_a == number:
            labelqval("恭喜你答对了!")
            num += 1
            running = False
            numGuess()
        elif var_a < number:
            if var_a > nminn:
                nminn = var_a
                num += 1
                labelqval("小了哦,请输入"+str(nminn)+"到"+str(nmaxn)+"之间任意整数:")
        else:
            if var_a < nmaxn:
                nmaxn = var_a
                num +=1
                labelqval("大了哦,请输入"+str(nminn)+"到"+str(nmaxn)+"之间任意整数:")
    else:labelqval('你已经答对啦。。。')

def numGuess():
    if num == 1:
        labelqval('一次答对!')
    elif num<10:
        labelqval('==十次以内就答对了牛。。。尝试次数:'+str(num))
    else:
        labelqval('好吧,您都试了超过10次了。。。尝试次数:'+str(num))

def labelqval(vText):
    label_val_q.config(label_val_q,text = vText)

root = tk.Tk(className="猜数字游戏")
root.geometry("400x90+200+200")
label_val_q = tk.Label(root,width = "80")
label_val_q.pack(side = "top")

entry_a = tk.Entry(root,width = "40")
btnGuess = tk.Button(root,text = "猜")
entry_a.pack(side = "left")
entry_a.bind('<Return>',eBtnGuess)
btnGuess.bind('<Button-1>',eBtnGuess)
btnGuess.pack(side = "left")
btnClose = tk.Button(root,text = "关闭")
btnClose.bind('<Button-1>',eBtnClose)
btnClose.pack(side = "left")
labelqval("请输入0到1024之间任意整数:")
entry_a.focus_get()
print(number)
root.mainloop()

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼的B站

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/106290460