Python程式設計實現:猜數遊戲
阿新 • • 發佈:2019-01-09
程式設計實現:猜數遊戲
**由程式隨機產生一個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()