import tkinter as tk
import sys
import random
import re
number=random.randint(0,100)
running=True
num=0
nmaxn=100
nminn=0
关闭窗口
def eBtnClose(event):
root.destroy()
判断猜的大小
def eBtnGuess(event):
global nmaxn
global nminn
global running
global num
if running:
val_a=int(entry_a.get())
if val_a==number:
labelqval("正确!")
num+=1
running=False
numGuess()
elif val_a
if val_a>nminn:
nminn=val_a
num+=1
label_tip_min.config(label_tip_min,text=nminn)
labelqval("太小了!")
else:
if val_a
nmaxn=val_a
num+=1
label_tip_max.config(label_tip_max,text=nmaxn)
labelqval("太大了!")
else:
labelqval("你答对了!")
显示猜的次数
def numGuess():
if num==1:
labelqval("一次中!")
elif num<10:
labelqval("十次内答对了,厉害!次数:"+str(num))
elif num<50:
labelqval("一般般!次数:"+str(num))
else:
labelqval("放弃吧!次数:"+str(num))
def labelqval(vText):
label_val_q.config(label_val_q,text=vText)
绘制图形界面
root=tk.Tk(className="猜数字游戏")
root.geometry("400x90+200+200")
line_a_tip=tk.Frame(root)
label_tip_max=tk.Label(line_a_tip,text=nmaxn)
label_tip_min=tk.Label(line_a_tip,text=nminn)
label_tip_max.pack(side="top",fill="x")
label_tip_min.pack(side="bottom",fill="x")
line_a_tip.pack(side="left",fill="y")
line_question=tk.Frame(root)
label_val_q=tk.Label(line_question,width="80")
label_val_q.pack(side="left")
line_question.pack(side="top",fill="x")
line_input=tk.Frame(root)
entry_a=tk.Entry(line_input,width="40")
btnGuess=tk.Button(line_input,text="猜")
entry_a.pack(side="left")
entry_a.bind("",eBtnGuess)
btnGuess.bind("",eBtnGuess)
btnGuess.pack(side="left")
line_input.pack(side="top",fill="x")
line_btn=tk.Frame(root)
btnClose=tk.Button(line_btn,text="关闭")
btnClose.bind("",eBtnClose)
btnClose.pack(side="left")
line_btn.pack(side="top")
labelqval("请猜0-100的随机数字:")
entry_a.focus_set()
print(number)
root.mainloop()
效果图