python3.3使用tkinter開發(fā)猜數(shù)字游戲示例
利用這個(gè)小游戲可以學(xué)習(xí)一下ython3.3中tkinter的使用方法
# -*- coding: utf-8 -*-
import tkinter as tk
import sys
import random
import re
number = random.randint(0,1024)
running = True
num = 0
nmaxn = 1024
nminn = 0
def eBtnClose(event):
root.destroy()
def eBtnGuess(event):
global nmaxn
global nminn
global num
global running
#修改缺陷:用戶答對了,提示標(biāo)簽還提示信息 Edit by Hongten 2013-09-09
#即用戶在答對了以后,提示標(biāo)簽不應(yīng)該再隨著用戶點(diǎn)擊'猜'按鈕而變化
if running:
val_a = int(entry_a.get())
if val_a == number:
labelqval("恭喜答對了!")
num+=1
running = False
numGuess()
elif val_a < number:
if val_a > nminn:
nminn = val_a
num+=1
label_tip_min.config(label_tip_min,text=nminn)
labelqval("小了哦")
else:
if val_a < nmaxn:
nmaxn = val_a
num+=1
label_tip_max.config(label_tip_max,text=nmaxn)
labelqval("大了哦")
else:
labelqval('你已經(jīng)答對啦...')
def numGuess():
if num == 1:
labelqval('一次答對!')
elif num < 10:
labelqval('= =十次以內(nèi)就答對了。。。嘗試次數(shù):'+str(num))
elif num < 50:
labelqval('還行哦嘗試次數(shù):'+str(num))
else:
labelqval('好吧。。。。。您都試了超過50次了。。。。嘗試次數(shù):'+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('<Return>',eBtnGuess)
btnGuess.bind('<Button-1>',eBtnGuess)
btnGuess.pack(side = "left")
line_input.pack(side = "top",fill = "x")
line_btn = tk.Frame(root)
btnClose = tk.Button(line_btn,text="關(guān)閉")
btnClose.bind('<Button-1>',eBtnClose)
btnClose.pack(side="left")
line_btn.pack(side = "top")
labelqval("請輸入0到1024之間任意整數(shù):")
entry_a.focus_set()
print(number)
root.mainloop()
相關(guān)文章
1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器
FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實(shí)現(xiàn)FTP服務(wù)器的功能。下面小編給大家?guī)砹? 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器,需要的朋友參考下2018-01-01六個(gè)Python3中使用最廣泛的內(nèi)置函數(shù)總結(jié)
這篇文章主要為大家詳細(xì)介紹了六個(gè)Python3中使用最廣泛的內(nèi)置函數(shù):Lamdba?函數(shù)、Map?函數(shù)、Filter?函數(shù)、Reduce?函數(shù)、Enumerate?函數(shù)和Zip?函數(shù),需要的可以參考一下2022-08-08pytorch實(shí)現(xiàn)seq2seq時(shí)對loss進(jìn)行mask的方式
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)seq2seq時(shí)對loss進(jìn)行mask的方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02學(xué)習(xí)python之編寫簡單簡單連接數(shù)據(jù)庫并執(zhí)行查詢操作
這篇文章主要介紹了學(xué)習(xí)python之編寫簡單簡單連接數(shù)據(jù)庫并執(zhí)行查詢操作,需要的朋友可以參考下2016-02-02python定時(shí)檢查啟動某個(gè)exe程序適合檢測exe是否掛了
定時(shí)檢查啟動某個(gè)exe程序這種情況下適合檢測某個(gè)exe程序是否掛了,感興趣的朋友可以了解下,希望本文對你有所幫助2013-01-01Python在for循環(huán)中更改list值的方法【推薦】
這篇文章主要介紹了Python在for循環(huán)中更改list值的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08如何解決flask修改靜態(tài)資源后緩存文件不能及時(shí)更改問題
在本篇內(nèi)容里小編給大家整理的是關(guān)于如何解決flask修改靜態(tài)資源后緩存文件不能及時(shí)更改問題,需要的朋友們可以學(xué)習(xí)下。2020-08-08使用pandas中的DataFrame.rolling方法查看時(shí)間序列中的異常值
Pandas是Python中最受歡迎的數(shù)據(jù)分析和處理庫之一,提供了許多強(qiáng)大且靈活的數(shù)據(jù)操作工具,在Pandas中,DataFrame.rolling方法是一個(gè)強(qiáng)大的工具,在本文中,我們將深入探討DataFrame.rolling方法的各種參數(shù)和示例,以幫助您更好地理解和應(yīng)用這個(gè)功能2023-12-12