编程实现:猜数游戏

**由程序随机产生一个0~100之间的整数,然后让用户输入一个整数,判断输入是否正确,若正确,则结束游戏,输出信息;如错误,则提示“大了”或“小了”,且还可再输入一个整数,当猜数次数达到8次时,则结束游戏。输出信息请按如下规则确定:
(1)输入次数达到8次,输出信息”你的表现太差,游戏结束”;
(2) 输入次数达到5~7次,输出信息”你的表现还可以,游戏结束”;
(2) 输入次数在4次及以下,输出信息”你的表现很优秀,游戏结束”;**

调用库文件

from tkinter import *
from tkinter.messagebox import *
from random import *

框体实现(GUI编程)

global ent1
root=Tk()
root.wm_title('猜数游戏')
lbl1=Label(root,text='请输入一个大于0小于100的整数')
lbl1.grid(row=0,column=0,sticky=W)
ent1=Entry(root)
ent1.grid(row=0,column=1,sticky=E)
btn=Button(root,text='上交',command=cheaknumber)#一键检测数字是否符合要求
btn.grid(row=2,column=2,sticky=W)
btn=Button(root,text='生成数字',command=creanumber)#一键生成随机数
btn.grid(row=0,column=2,sticky=W)
root.mainloop()

事件编写

生成数字

def creanumber():
    global str2
    str2=randint(0,100)
    print(str2)#输出生成数

数字获取计数

def counter():
    count=0
    global count=,root
    count+=1
    lal=Label(root,text='输入第'+str(count)+'次')

数字检测

def cheaknumber():
    counter()
    str1=ent1.get()
    t1=len(str1)
    int(str1)
    if int(str1)>str2:
        message4()
    elif int(str1)==str2:
        if count==8:
            message1()
        if count>=5 and count<=7:
            message2()
        if count<=4:
                message3()
    else:
        message5()

通知框编写

def message1():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现太差,游戏结束')
    root.mainloop()
def message2():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现还可以,游戏结束')
    root.mainloop()
def message3():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现很优秀,游戏结束')
    root.mainloop()
def message4():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你输入的数字过大')
    root.mainloop()
def message5():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你输入的数字过小')

完整代码

from tkinter import *
from tkinter.messagebox import *
from random import *
#------
count=0
def creanumber():
    global str2
    str2=randint(0,100)
    print(str2)
def message1():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现太差,游戏结束')
    root.mainloop()
def message2():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现还可以,游戏结束')
    root.mainloop()
def message3():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你的表现很优秀,游戏结束')
    root.mainloop()
def message4():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你输入的数字过大')
    root.mainloop()
def message5():
    root=Tk()
    root.wm_title('提示')
    showinfo(title='提示',message='你输入的数字过小')
    root.mainloop()
def cheaknumber():
    counter()
    str1=ent1.get()
    t1=len(str1)
    int(str1)
    if int(str1)>str2:
        message4()
    elif int(str1)==str2:
        if count==8:
            message1()
        if count>=5 and count<=7:
            message2()
        if count<=4:
                message3()
    else:
        message5()
def counter():
    global count,root
    count+=1
    lal=Label(root,text='输入第'+str(count)+'次')    
#def getnumber():
global ent1
root=Tk()
root.wm_title('猜数游戏')
lbl1=Label(root,text='请输入一个大于0小于100的整数')
lbl1.grid(row=0,column=0,sticky=W)
ent1=Entry(root)
ent1.grid(row=0,column=1,sticky=E)
btn=Button(root,text='上交',command=cheaknumber)
btn.grid(row=2,column=2,sticky=W)
btn=Button(root,text='生成数字',command=creanumber)
btn.grid(row=0,column=2,sticky=W)
root.mainloop()

更多推荐

Python编程实现:猜数游戏