18岁成人毛片_第四色在线视频_国产又粗又硬视频_99热这里只有精品3_亚洲国产无线乱码在线观看 _中文字幕乱码在线观看_男人草女人视频_国产伦精品一区二区三区视频痴汉_妞干网这里只有精品_久草视频免费在线

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

Python Tkinter教程 數(shù)字猜謎游戲

極客小將2020-12-31-
簡介python視頻教程欄目以數(shù)字猜謎游戲介紹Tkinter。Tkinter是Python的TkGUI(圖形用戶界面)工具包和事實上的標準GUI的標準接口。GUI使您可以使用大多數(shù)操作系統(tǒng)使用的可視項(例如窗口,圖標和菜單)與計算機進行交互。這個功能強大的工具可用于構(gòu)建各種項目,并且使可視化代碼更加容易
python視頻教程欄目以數(shù)字猜謎游戲介紹Tkinter。

KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

Tkinter是Python的Tk GUI(圖形用戶界面)工具包和事實上的標準GUI 的標準接口。GUI使您可以使用大多數(shù)操作系統(tǒng)使用的可視項(例如窗口,圖標和菜單)與計算機進行交互。這個功能強大的工具可用于構(gòu)建各種項目,并且使可視化代碼更加容易。
KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在本文中,我們將了解Tkinter的基礎(chǔ)知識以及可在Python應(yīng)用程序中使用的不同類型的小部件。在本文的后面,我們將使用Tkinter小部件開發(fā)一個很酷的數(shù)字猜測游戲。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

今天,我們將介紹:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

Tkinter的基礎(chǔ)Tkinter的小部件與示例從頭開始構(gòu)建數(shù)字猜謎游戲Tkinter的基礎(chǔ)

在構(gòu)建游戲之前,我們需要了解Tkinter的一些基礎(chǔ)知識。Tkinter軟件包是Tk GUI工具包的標準python接口。我們通常使用Tkinter包在應(yīng)用程序中插入不同的GUI小部件,以使其更加用戶友好。如果您在Linux,Windows或Mac上使用Python,則設(shè)備上已經(jīng)安裝了Python Tkinter。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

我們?nèi)绾伍_發(fā)GUI應(yīng)用程序?

創(chuàng)建GUI應(yīng)用程序的基本過程如下:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

Import the Tkinter ModuleCreate Main WindowAdd WidgetsEnter Main LoopKFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

使用Python開發(fā)GUI應(yīng)用程序涉及的步驟:導(dǎo)入tkinter模塊。為我們的GUI應(yīng)用程序創(chuàng)建主窗口。現(xiàn)在,為我們的應(yīng)用程序添加任意數(shù)量的小部件。進入主事件循環(huán)以執(zhí)行我們的主要功能。

現(xiàn)在讓我們看看如何創(chuàng)建一個簡單的tkinter窗口:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

首先,我們將導(dǎo)入tkinter模塊。它包含構(gòu)建應(yīng)用程序所需的所有功能,類和其他內(nèi)容?,F(xiàn)在,當我們導(dǎo)入模塊時,我們需要初始化tkinter。為此,我們創(chuàng)建Tk( )根窗口小部件?,F(xiàn)在,這將創(chuàng)建我們的主GUI窗口,我們將在其中添加小部件。此時,我們的主窗口只有標題欄。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

我們應(yīng)該只為我們的應(yīng)用程序創(chuàng)建一個窗口,并且必須在添加任何其他小部件之前創(chuàng)建該窗口。之后,我們使用root.mainloop( )。除非輸入,否則不會顯示我們剛剛創(chuàng)建的主窗口mainloop。當我們按下關(guān)閉按鈕時,我們的程序?qū)⑼顺鲋餮h(huán)。在按下關(guān)閉按鈕之前,我們的應(yīng)用程序?qū)⒁恢边\行。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

用于創(chuàng)建簡單的tkinter窗口的代碼:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

#import required libraries from tkinter import * # initialize tkinter : root = Tk() # enter the main Loop : root.mainloop()復(fù)制代碼Tkinter的小部件與示例**按鈕:**顯示按鈕。**畫布:**繪制形狀。**復(fù)選框:**將多個選項顯示為復(fù)選框。**輸入:**接受用戶的單行輸入。**框架:**組織其他小部件。**標簽:**為其他小部件添加標題。**列表框:**向用戶提供選項列表。菜單**按鈕:**在我們的應(yīng)用程序中顯示菜單。**菜單:**向用戶提供各種命令。**消息:**顯示多行文本字段。**單選按鈕:**將選項數(shù)量顯示為單選按鈕。**比例尺:**提供滑塊。**滾動條:**添加滾動功能。**文字:**以多行顯示文字。**頂層:**提供單獨的窗口容器。**Spinbox:**從固定輸入值中選擇。**PanedWindow:**水平或垂直排列小部件。**LabelFrame:**以復(fù)雜的結(jié)構(gòu)提供空間。**tkMessageBox:**在應(yīng)用程序中顯示消息框。

現(xiàn)在,我們將簡要介紹in out應(yīng)用程序中需要的一些小部件。請記住,這里我們將以**簡單的示例演示該小部件。每個小部件中還有許多可用功能。在開發(fā)游戲時,我們會看到其中的一些。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

一些Tkinter小部件示例

按鈕: 按鈕小部件用于在我們的應(yīng)用程序中顯示按鈕。通常,當我們按下一個按鈕時,將有一個與之關(guān)聯(lián)的命令。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries : from tkinter import * # Initialize tkinter : root = Tk() # Adding widgets : # Add button : btn = Button(root,text="PRESS ME",command=lambda:press()) # Place button in window : btn.grid(row=0,column=0) # Define the function : def press() lbl = Label(root,text="You Pressed The Button") lbl.grid(row=0,column=1) # Enter the main Loop : root.mainloop()復(fù)制代碼

**標簽:**標簽小部件用于為我們應(yīng)用程序中的其他小部件提供單行標題。 KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries : from tkinter import * # Initialize tkinter : root = Tk() # Adding widgets : # Add label : lbl = Label(root,text="This is label") # Place the button on window : lbl.grid(row=0,column=1) # Enter the main Loop : root.mainloop()復(fù)制代碼

**畫布:**畫布小部件用于繪制各種形狀。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries : from tkinter import * # Initialize tkinter : root = Tk() # Adding widgets : # Add canvas : # Create canvas object : c = Canvas(root,bg="3389db",height=250,width-300) # Draw a straight line : line = c.create_line(0,0,50,50) # To fit the line in the window c.pack() # Enter the main loop root.mainloop()復(fù)制代碼

**CheckButton:**我們使用checkbutton顯示可供用戶使用的多個選項。在這里,用戶可以選擇多個選項。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries : from tkinter import * # Initialize tkinter : root = Tk() # Adding widgets : # Add checkbutton : # IntVar() hold integers # Default value is 0 # If checkbox is marked, this will change to 1 checkvar1 = IntVar() checkvar2 = IntVar() # Create checkbutton c1 = Checkbutton(root,text="BMW", variable=checkvar1) c2 = Checkbutton(root,text="Audi",variable=checkbar2) # To fit in the main window c1.grid(row=0,column=0) c2.grid(row=1,column=0) # Enter the main Loop root.mainloop()復(fù)制代碼

Entry: Entry小部件用于接受用戶的單行輸入。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries from tkinter import * # Initialize tkinter root = Tk() # Adding widgets # Label lbl = Label(root,text="Enter your name:") lbl.grid(row=0,column=0) # Entry e = Entry(root) e.grid(row=0,column=1) # Enter the main Loop root.mainloop()復(fù)制代碼

**框架:**用作容器小部件,以組織同一應(yīng)用程序中的其他小部件KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries from tkinter import * # Initialize tkinter root = Tk() # Adding widgets frame = Frame(root) frame.pack() # Add button on Left A = Button(frame,text="A") A.pack(side = LEFT) # Add button on Right B = Button(frame,text="B") B.pack(side = RIGHT) # Enter the main Loop root.mainloop()復(fù)制代碼

**列表框:**用于向用戶提供選項列表。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Import required libraries from tkinter import * # Initialize tkinter root = Tk() # Adding widgets # Create Listbox : Lb = Listbox(root) # Add items in list Lb.insert(1,"A") Lb.insert(2,"B") Lb.insert(3,"C") Lb.insert(4,"D") # Place listbox on window Lb.grid(row=0,column=0) # Enter the main Loop root.mainloop()復(fù)制代碼

從頭開始構(gòu)建數(shù)字猜謎游戲KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

分步演練

當用戶運行程序時,我們的代碼將生成一個介于0到9之間的隨機數(shù)。用戶將不知道隨機生成的數(shù)字。現(xiàn)在,用戶必須猜測隨機生成的數(shù)字的值。用戶在輸入框中輸入值。之后,用戶將按下檢查按鈕。該按鈕將觸發(fā)功能。該功能將檢查用戶輸入的號碼是否與隨機生成的號碼匹配。如果猜測的數(shù)字正確,則程序?qū)@示正確的標簽和實際數(shù)字(在這種情況下,該數(shù)字將與猜測的數(shù)字相同)。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

現(xiàn)在,如果猜測的數(shù)字小于隨機生成的數(shù)字,則我們的程序?qū)@示TOO LOW標簽,并且這還將清除輸入框,以便用戶可以輸入新的數(shù)字。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

如果猜中的數(shù)字高于實際數(shù)字,則我們的程序?qū)@示TOO HIGH標簽,并清除輸入框。這樣,用戶可以繼續(xù)猜測正確的數(shù)字。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

如果標簽顯示TOO HIGH,則用戶應(yīng)該輸入比他們猜想的數(shù)字低的數(shù)字。如果標簽顯示TOO LOW,則用戶應(yīng)該輸入比他們第一次猜測的數(shù)字更大的數(shù)字。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

我們的程序還將計算用戶猜測正確數(shù)字所需的嘗試次數(shù)。當用戶**終做出正確的猜測時,它將顯示總嘗試次數(shù)。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

如果用戶想玩新游戲,則必須按下主關(guān)閉按鈕。如果用戶在我們的應(yīng)用程序中按下“ **關(guān)閉”**按鈕,則他們將完全退出游戲。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

只需簡單的步驟即可:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

運行應(yīng)用程序。輸入您的猜測。按下檢查按鈕。如果標簽顯示不正確,請猜測一個新數(shù)字。如果標簽顯示正確,則顯示嘗試次數(shù)。按下主關(guān)閉按鈕以新號碼重新開始游戲。從我們的應(yīng)用程序中按下關(guān)閉按鈕以完全退出游戲。

![Python Tkinter教程系列02:數(shù)字猜謎游戲插圖(12)](https://img.php.cn/upload/article/000/000/052/a829e9a273177c9e7f7b0cf1d39a0ef6-0.jpg "Python Tkinter教程系列02:數(shù)字猜謎游戲插圖(12)")我們將逐步向您展示如何使用Python tkinter構(gòu)建上述游戲。 KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

圖片素材在這里IT小站,此處下載數(shù)字猜謎游戲素材KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

步驟1:導(dǎo)入所需的庫KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# import required libraies : from tkinter import * # to add widgets import random # to generate a random number import tkinter.font as font # to change properties of font import simpleaudio as sa # to play sound files復(fù)制代碼

步驟2:建立主Tkinter視窗KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

want_to_play = True while want_to_play==True: root = Tk() root.title("Guess The Number!") root.geometry('+100+0') root.configure(bg="#000000") root.resizable(width=False,height=False) root.iconphoto(True,PhotoImage(file="surprise.png"))復(fù)制代碼首先,我們創(chuàng)建一個名為的變量want_to_play,并將其值設(shè)置為True。當變量設(shè)置為時,我們的程序?qū)⑸梢粋€新窗口True。當用戶按下主關(guān)閉按鈕時,它將退出循環(huán),但是在這里,我們將變量設(shè)置為True,因此它將使用新生成的數(shù)字創(chuàng)建另一個窗口。root = Tk( ):用于初始化我們的tkinter模塊。root.title( ):我們使用它來設(shè)置應(yīng)用程序的標題。root.geometry( ):我們使用它來指定我們的應(yīng)用程序窗口將在哪個位置打開。root.configure( ):我們使用它來指定應(yīng)用程序的背景色。root.resizable( ):在這里我們使用它來防止用戶調(diào)整主窗口的大小。root.iconphoto( ):我們使用它來設(shè)置應(yīng)用程序窗口標題欄中的圖標。我們將第一個參數(shù)設(shè)置為True。

步驟3:導(dǎo)入聲音文件KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# to play sound files start = sa.WaveObject.from_wave_file("Start.wav") one = sa.WaveObject.from_wave_file("Win.wav") two = sa.WaveObjet.from_wave_file("Lose.wav") three = sa.WaveObject.from_wave_file("Draw.wav") start.play()復(fù)制代碼

現(xiàn)在,我們將使用一些將在各種事件中播放的聲音文件。當我們的程序啟動時,它將播放開始文件。當用戶的猜測正確,用戶的猜測錯誤以及用戶關(guān)閉應(yīng)用程序時,我們將分別播放其余三個文件。需要注意的一件事是它僅接受.wav文件。首先,我們需要將聲音文件加載到對象中。然后我們可以.play( )在需要時使用方法播放它。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

步驟4:為我們的應(yīng)用程序加載圖像KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

我們將在應(yīng)用程序中使用各種圖像。要首先使用這些圖像,我們需要加載這些圖像。在這里,我們將使用PhotoImage類加載圖像。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Loading images Check = PhotoImage(file="Check_5.png") High = PhotoImage(file="High_5.png") Low = PhotoImage(file="Low_5.png") Correct = PhotoImage(file="Correct_5.png") Surprise = PhotoImage(file="Surprise.png") your_choice = PhotoImage(file="YOUR_GUESS.png") fingers = PhotoImage(file="fingers.png") close = PhotoImage(file="Close_5.png")復(fù)制代碼

步驟5:產(chǎn)生隨機數(shù)KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在這里,我們將生成1–9之間的隨機數(shù)。我們將使用隨機模塊生成1–9之間的隨機整數(shù)。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# generating random number number = random.randint(1,9)復(fù)制代碼

步驟6:修改字體KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在這里,我們將使用字體模塊來更改應(yīng)用程序中的字體。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# using font module to modify fonts myFont = font.Font(family='Helvetica',weight='bold')復(fù)制代碼

步驟7:添加小部件KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在這里,我們添加了應(yīng)用程序的前兩個小部件。請注意,輸入框位于第2行,因為我們在第1行中添加了空格。在這里,我們將在標簽中使用圖像文件。我們用于.grid( )指定特定小部件的位置。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Creating first label label = Label(root,image=your_choice) label.grid(row=0,column=1) # Creating the entry box e1 = Entry(root,bd=5,width=13,bg="9ca1db",justify=CENTER,font=myFont) e1.grid(row=2,column=1)復(fù)制代碼

步驟8:添加其他小部件KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在這里,我們將添加其他一些小部件,例如按鈕和標簽。將有兩個按鈕,一個用于檢查值,另一個用于永久關(guān)閉窗口。第二個標簽將顯示用戶猜測的值是正確還是高還是低。它將相應(yīng)地顯示標簽。如果用戶的猜測正確,第三個標簽將顯示正確的數(shù)字。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

第四個標簽顯示用戶猜測正確值所花費的嘗試總數(shù)。在這里請注意,這兩個按鈕將觸發(fā)命令。在接下來的幾點中,我們將對此進行研究。 KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Creating check button : b1 = Button(root,image=Check,command=lambda:show()) b1.grid(row=4,column=3) # Creating close button : b2 = Button(root,image=close,command=lambda:reset()) #Creaating second label : label2 = Label(root,image=fingers) label2.grid(row=6,column=1) #Creating third label : label3 = Label(root,image=Surprise) label3.grid(row=10,column=1) #Creating fourth label : label4= Label(root,text="ATTEMPTS : ",bd=5,width=13,bg="#34e0f2",justify=CENTER,font=myFont) label4.grid(row=12,column=1)復(fù)制代碼

步驟9:顯示正確的圖像并將計數(shù)器設(shè)置為嘗試值KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

當用戶的猜測正確時,我們將在此處顯示正確的數(shù)字圖像。我們的數(shù)字存儲方式如下:KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

1.png2.png3.png…100.png

因此,我們的程序?qū)⒉捎脤嶋H的數(shù)字,并在其中添加.png字符串并打開該文件。我們還將設(shè)置計數(shù)器以計算嘗試值。它將存儲嘗試猜測正確數(shù)字所需的嘗試次數(shù)值。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# to display the correct image num = PhotoImage(file = str(number)+str(".png")) # Set the count to 0 count = 0復(fù)制代碼

步驟10:當我們按下檢查按鈕時將觸發(fā)的功能KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

在這里,每當用戶按下檢查按鈕時,嘗試次數(shù)的計數(shù)值將增加一。然后,我們將用戶輸入的值存儲在名為answer的變量中。然后,我們將檢查用戶是否尚未輸入任何值,并按下檢查按鈕,它將轉(zhuǎn)到reset()功能,應(yīng)用程序?qū)㈥P(guān)閉。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

現(xiàn)在,我們必須將用戶輸入的值轉(zhuǎn)換為整數(shù),以便將其與實際數(shù)字進行比較。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

def show(): #Increase the count value as the user presses check button. global count count = count+1 #Get the value entered by user. answer = e1.get() #If the entry value is null the goto reset() function. if answer=="": reset() #Convert it to int for comparision. answer = int(e1.get()) if answer > number: #Play sound file. two.play() #Change the label to Too High. label2.configure(image=High) #Calls all pending idle tasks. root.update_idletasks() #Wait for 1 second. root.after(1000) #Clear the entry. e1.delete(0,"end") #Change the label to the original value. label2.configure(image=fingers) elif answer < number: #Play sound file. two.play() #Change the label to Too Low. label2.configure(image=Low) #Calls all pending idle tasks. root.update_idletasks() #Wait for 1 second. root.after(1000) #Clear the entry. e1.delete(0,"end") #Change the label to the original value. label2.configure(image=fingers) else: #Play sound file. one.play() #Show the CORRECT image. label2.configure(image=Correct) #Show the correct number. label3.configure(image=num) #Show the number of attempts. label4.configure(text="ATTEMPTS : "+str(count))復(fù)制代碼

步驟11:“關(guān)閉”按鈕將觸發(fā)reset()功能KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

此函數(shù)會將want_to_play變量設(shè)置為,F(xiàn)alse以便我們的應(yīng)用程序關(guān)閉并且不會再次啟動。然后它將關(guān)閉我們的應(yīng)用程序的主窗口。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# define reset() function def reset(): # Play sound file three.play() # Change the variable to false global want_to_play want_to_play = false # Close the tkinter window root.destroy()復(fù)制代碼

步驟12:主循環(huán)KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

我們必須進入主循環(huán)才能運行程序。如果我們的程序沒有這一行,那么它將行不通。我們的程序?qū)⒈3衷谥餮h(huán)中,直到我們按下關(guān)閉按鈕。KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

# Enter the mainLoop root.mainloop()復(fù)制代碼完整代碼#Import required libraries : from tkinter import * import random import tkinter.font as font import simpleaudio as sa want_to_play = True while want_to_play==True: root = Tk() root.title("Guess The Number!") root.geometry('+100+0') root.configure(bg="#000000") root.resizable(width=False,height=False) root.iconphoto(True,PhotoImage(file="surprise.png")) #To play sound files: start = sa.WaveObject.from_wave_file("Start.wav") one = sa.WaveObject.from_wave_file("Win.wav") two = sa.WaveObject.from_wave_file("Lose.wav") three = sa.WaveObject.from_wave_file("Draw.wav") start.play() #Loading images : Check = PhotoImage(file="Check_5.png") High = PhotoImage(file="High_5.png") Low = PhotoImage(file="Low_5.png") Correct = PhotoImage(file="Correct_5.png") Surprise= PhotoImage(file ="Surprise.png") your_choice = PhotoImage(file="YOUR_GUESS.png") fingers = PhotoImage(file = "Fingers.png") close = PhotoImage(file="Close_5.png") #To have space between rows. root.grid_rowconfigure(1, minsize=30) root.grid_rowconfigure(3, minsize=30) root.grid_rowconfigure(5, minsize=30) root.grid_rowconfigure(9, minsize=30) root.grid_rowconfigure(11, minsize=30) #Generating random number : number = random.randint(1,9) #Using font module to modify the fonts : myFont = font.Font(family='Helvetica',weight='bold') #Creating the first label : label = Label(root,image=your_choice) label.grid(row=0,column=1) #Creating the entry box : e1 = Entry(root,bd=5,width=13,bg="#9ca1db",justify=CENTER,font=myFont) e1.grid(row=2,column=1) #Creating check button : b1 = Button(root,image=Check,command=lambda:show()) b1.grid(row=4,column=3) #Creating close button : b2 = Button(root,image=close,command=lambda:reset()) b2.grid(row=4,column=0) #Creaating second label : label2 = Label(root,image=fingers) label2.grid(row=6,column=1) #Creating third label : label3 = Label(root,image=Surprise) label3.grid(row=10,column=1) #Creating fourth label : label4= Label(root,text="ATTEMPTS : ",bd=5,width=13,bg="#34e0f2",justify=CENTER,font=myFont) label4.grid(row=12,column=1) #To display the correct image : num = PhotoImage(file=str(number)+str(".png")) #Set the count to 0. #It stores the attempt value. count = 0 def show(): #Increase the count value as the user presses check button. global count count = count+1 #Get the value entered by user. answer = e1.get() #If the entry value is null the goto reset() function. if answer=="": reset() #Convert it to int for comparision. answer = int(e1.get()) if answer > number: #Play sound file. two.play() #Change the label to Too High. label2.configure(image=High) #Calls all pending idle tasks. root.update_idletasks() #Wait for 1 second. root.after(1000) #Clear the entry. e1.delete(0,"end") #Change the label to the original value. label2.configure(image=fingers) elif answer < number: #Play sound file. two.play() #Change the label to Too Low. label2.configure(image=Low) #Calls all pending idle tasks. root.update_idletasks() #Wait for 1 second. root.after(1000) #Clear the entry. e1.delete(0,"end") #Change the label to the original value. label2.configure(image=fingers) else: #Play sound file. one.play() #Show the CORRECT image. label2.configure(image=Correct) #Show the correct number. label3.configure(image=num) #Show the number of attempts. label4.configure(text="ATTEMPTS : "+str(count)) #Define reset() function : def reset(): #Play the sound file. three.play() #Change the variable to false. global want_to_play want_to_play = False #Close the tkinter window. root.destroy() #Enter the mainloop : root.mainloop()復(fù)制代碼

相關(guān)免費學(xué)習(xí)推薦:python視頻教程KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

以上就是Python Tkinter教程 數(shù)字猜謎游戲的詳細內(nèi)容,更多請關(guān)注少兒編程網(wǎng)其它相關(guān)文章!KFT少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學(xué)習(xí)平臺

預(yù)約試聽課

已有385人預(yù)約都是免費的,你也試試吧...

情侣偷拍对白清晰饥渴难耐| 短视频在线观看| 中文字幕 日韩 欧美| 黄色香蕉视频在线观看| 在线观看网站黄| 国产99免费视频| 超碰在线公开97| 91社在线播放| 在线观看国产网站| 99免费在线视频| 一级黄色免费网站| 依人在线免费视频| 国产精品无码人妻一区二区在线| 国产黄片一区二区三区| 午夜视频在线播放| 亚洲天堂2021av| 国产精品9191| 国产一伦一伦一伦| 僵尸世界大战2 在线播放| 国产精品综合激情| 久久精品女同亚洲女同13| www.xxxx国产| 亚洲av综合一区| 久久精品99国产精| 日韩一区二区三区不卡视频| 久无码久无码av无码| 精品亚洲乱码一区二区| 国产又粗又猛又色| 亚洲高清在线观看视频| 中国a一片一级一片| 国产午夜免费视频| 成人性生交免费看| 十八禁视频网站在线观看| 亚洲av首页在线| 天堂av免费在线| 性欧美一区二区| 国产极品一区二区| 国产精品嫩草69影院| 乱色精品无码一区二区国产盗| 中文字幕第一页在线播放| 人人干人人干人人干| 久久久精品国产sm调教网站| 一起操在线视频| 欧美成人黑人猛交| 成人久久久久久久久| 精品少妇人欧美激情在线观看| 91香蕉国产视频| 91人妻一区二区| 欧美被狂躁喷白浆精品| av2014天堂网| 久久久久国产精品夜夜夜夜夜| 91日韩中文字幕| 手机在线观看日韩av| 日本黄色免费片| 国产精品91av| 亚洲av无码乱码国产精品| 亚洲综合五月天婷婷丁香| 国产第一页在线观看| 亚洲精品1区2区3区| 久久精品免费av| 成人毛片18女人毛片| 欧美a∨亚洲欧美亚洲| 日本中文字幕久久| 亚洲熟女一区二区三区| 思思久久精品视频| 亚洲一区电影在线观看| 先锋av资源站| 高清乱码毛片入口| 中文字幕在线2021| 外国一级黄色片| 一区二区三区四区影院| 日本美女久久久| 日韩黄色短视频| 最新黄色av网站| 蜜桃av中文字幕| 不卡av免费在线| 国产欧美久久久| 久久久久久成人网| 性感美女一级片| 狠狠躁夜夜躁人人爽视频| 美女扒开大腿让男人桶| 久久香蕉视频网站| 亚洲精品无码久久久久久久| 在线观看免费视频污| 欧美性受xxxx黑人猛交88| 日本一区二区视频在线播放| 青娱乐在线免费视频| 欧美 日韩 国产一区| 魔女鞋交玉足榨精调教| 久久精品国产亚洲AV无码麻豆| 天天操天天摸天天舔| 中文字幕网址在线| 精品毛片一区二区三区| 日韩久久久久久久久| 精品无码一区二区三区在线| 久久性爱视频网站| 亚州男人的天堂| 国产精品久久久久久久免费 | 国产专区第一页| 国产成人无码av| 日本女人性生活视频| 美女被艹视频网站| 91视频在线网站| 视频这里只有精品| 欧美成人综合色| 日韩av无码中文字幕| 在线观看免费视频污| 国产中文字幕免费观看| 久久这里只有精品国产| 色av性av丰满av| 日韩成年人视频| 精品人妻伦九区久久aaa片| 三级黄色片网站| 9999在线观看| www.99在线| 波多野结衣午夜| 黑人乱码一区二区三区av| 在线免费观看日韩av| 国产精品久久久久久久乖乖| 免费在线视频观看| 无码日本精品xxxxxxxxx| 日韩国产成人无码av毛片| 日本一级黄视频| 免费日韩视频在线观看| 一级特黄aaa大片在线观看| 无遮挡又爽又刺激的视频| 丰满肉肉bbwwbbww| 青青青视频在线免费观看| 欧美韩国日本在线| 欧美精品一二三四区| 午夜影院福利社| 色一情一乱一伦一区二区三区日本 | a级片在线观看| 国产成人av免费观看| 一级黄色大片网站| 中文字幕日韩三级片| 天堂av网手机版| 一区二区三区视频网| 一级片在线观看视频| 手机看片久久久| 99在线精品视频免费观看软件| 中文字幕免费播放| 秋霞网一区二区| 久久美女免费视频| 欧美日韩激情视频在线观看| 国产熟人av一二三区| 在线观看岛国av| 国产午夜精品一区二区理论影院 | 欧美黄色免费看| 日本a视频在线观看| 青青草手机在线视频| 国产婷婷在线视频| 亚洲男女在线观看| 樱空桃在线播放| 久草国产在线观看| 国产又粗又猛又爽又黄的| 亚洲免费一级片| 免费av网站观看| av中文字幕观看| 亚洲区免费视频| 999在线精品视频| 少妇一级淫片免费放播放| 国产青草视频在线观看| 一级黄色av片| 自拍偷拍你懂的| 免费三片在线播放| 苍井空张开腿实干12次| 久久婷婷五月综合色国产香蕉| 888奇米影视| 黄色一级片中国| 日韩在线 中文字幕| 一级特黄曰皮片视频| 久久99久久久| 欧美老熟妇乱大交xxxxx| 天天综合天天添夜夜添狠狠添| 亚洲av成人精品日韩在线播放| 欧美视频在线免费播放| va婷婷在线免费观看| 日韩a级黄色片| 国产乱码久久久久| 米仓穗香在线观看| 亚洲影院一区二区三区| 日韩精品一区二区三区电影| 波多野结衣在线观看一区| 免费国产羞羞网站美图| 亚洲婷婷久久综合| 四虎4hu永久免费入口| 国产有码在线观看| 可以看毛片的网址| 亚洲免费不卡视频| 黄色一级免费大片| 成人做爰www看视频软件| 五月激情五月婷婷| 日本xxxx裸体xxxx| 国产精品第9页| 精品国产精品国产精品| 夜夜爽妓女8888视频免费观看| 国产大尺度在线观看| 国产一区二区三区中文字幕 | 涩视频在线观看| 天天综合网久久| 成人h动漫精品一区| 国产精品视频免费播放| 欧美在线视频第一页| 伊人影院中文字幕| 鲁一鲁一鲁一鲁一澡| aaaaa黄色片| 国产亚洲精品女人久久久久久| 日本少妇xxxxx| 中文字幕黄色av| 青青艹视频在线| 中文视频在线观看| 久久免费激情视频| 18禁裸男晨勃露j毛免费观看| 黄色三级网站在线观看| 嫩草视频免费在线观看| 情侣偷拍对白清晰饥渴难耐| 国产精品福利电影| 在线观看免费不卡av| 亚洲 欧美 国产 另类| 国产精品久久久久久久久久久久久久久久| 国产一级免费片| 欧美精品一二三四区| 免费看黄在线看| 国产精品久久久久久久无码| 国产成人综合欧美精品久久| 欧美精品自拍视频| 日韩一级视频在线观看| 高潮无码精品色欲av午夜福利| 久在线观看视频| 久久久久久久久久久久| 亚洲熟妇av乱码在线观看| 亚洲 欧美 日韩系列| 日韩av片在线免费观看| 高清一区二区三区四区| 九九视频在线免费观看| 欧妇女乱妇女乱视频| 国产精品无码一区二区三| 中文字幕在线2019| 在线看的黄色网址| japanese在线视频| a级片在线观看视频| 姑娘第5集在线观看免费好剧| 久久久久久久片| 日本高清一二三区| 日本wwwxx| 中文永久免费观看| 伊人色在线视频| www.69av| 国产又黄又粗视频| 丰满人妻妇伦又伦精品国产| 你懂的国产在线| 亚洲老女人av| 国产青草视频在线观看| 白白色免费视频| 天堂在线观看视频| 国产又粗又猛又爽又| 日韩va在线观看| 黄网站欧美内射| 三级在线观看免费大全| 97人妻精品一区二区三区免费| 亚洲怡红院av| 日本在线观看中文字幕| 成人亚洲视频在线观看| 欧美一二三不卡| 天美传媒免费在线观看| 东京热av一区| 亚洲精品无码专区| 中文字幕人妻一区二区在线视频| 青青草原国产视频| 北条麻妃视频在线| 日本福利视频一区| 老女人性淫交视频| 欧美黄色激情视频| 婷婷五月精品中文字幕| 黄色a在线观看| 一区二区三区亚洲视频| 午夜影院在线看| 四季av一区二区| 欧美日韩在线国产| 国产吃瓜黑料一区二区| 亚洲一区二区三区日韩| 成人免费性视频| 一本一道无码中文字幕精品热| www.日韩在线观看| 羞羞在线观看视频| 最新天堂中文在线| 国产又粗又大又爽视频| 国产乱子夫妻xx黑人xyx真爽| 老司机成人免费视频| 欧美大波大乳巨大乳| 欧美无人区码suv| 天堂中文在线观看视频| 性欧美8khd高清极品| 国产绿帽刺激高潮对白| 久久精品国产亚洲av麻豆蜜芽| 中文字幕视频网站| 欧美激情亚洲综合| 国产视频91在线| 国产污片在线观看| www成人在线| 久久国产黄色片| 亚洲黄色小说图片| 欧美日韩综合在线观看| 日韩高清精品免费观看| 日本免费一二三区| 日韩污视频在线观看| 色网站在线播放| 精品不卡一区二区| 中文字幕欧美人妻精品一区蜜臀| 69xxxx国产| 蜜臀尤物一区二区三区直播| 超碰在线观看91| 一级黄色录像大片| 国产内射老熟女aaaa∵| 国产成人精品一区二三区四区五区 | 中文字幕天堂网| 欲求不满的岳中文字幕| v8888av| 99久久99久久精品免费| av最新在线观看| www.-级毛片线天内射视视| www.18av.com| 国产在线青青草| 一区二区三区网址| 国产亚洲精品av| 无码人妻精品一区二区50| 又骚又黄的视频| 黄色三级网站在线观看| 日本人添下边视频免费| 91网站免费入口| 少妇人妻丰满做爰xxx| 丁香婷婷综合激情| 日韩av片网站| 日韩精品一区二区在线播放 | 免费在线观看成年人视频| 人妻一区二区视频| 天天在线免费视频| 9久久9毛片又大又硬又粗| 免费看涩涩视频| 99热国产在线观看| 一级视频在线播放| 美女流白浆视频| 精品无码在线观看| 欧美国产视频一区| 欧美午夜性生活| www日韩精品| 国产视频第一页| 无码人妻一区二区三区在线视频| 成都免费高清电影| 潘金莲一级淫片aaaaaa播放1| 欧美成人免费高清视频| 中文字幕在线视频一区二区| 小泽玛利亚一区二区三区视频| 亚洲黄色在线观看视频| av在线网站观看| 高清无码视频直接看| 国产福利在线免费| 中文字幕乱码人妻无码久久| 天天综合在线视频| 日本免费网站视频| 亚洲精品乱码久久久久久自慰| 久久免费小视频| 国产av无码专区亚洲av| 亚洲第九十七页| 日韩一区二区高清视频| 欧美日韩在线视频免费播放| 夜夜嗨aⅴ一区二区三区| 欧美做受高潮中文字幕| 国产成人三级视频| 天天看片天天操| 999久久久久久| 在线观看日本中文字幕| 成人一区二区免费视频| 久久久久久久久99| 国产 欧美 精品| 蜜桃av免费观看| 欧美特级aaa| 91精品国产色综合久久不8| 欧美大片免费播放器| 人人妻人人澡人人爽欧美一区双 | 国产爆乳无码一区二区麻豆| 久久黄色免费网站| 高h调教冰块play男男双性文| 日本免费网站视频| 中文字幕第17页| 国产黄色片免费| 黄色录像二级片| 99视频在线观看视频| 亚洲精品一区二区三区蜜桃| 极品尤物一区二区| 无限资源日本好片| 亚洲国产精品suv| 日韩精品123区| 欧美日韩大片在线观看| 天堂中文在线看| 波多野结衣与黑人| 麻豆成人免费视频| 800av在线播放| 老熟妇仑乱视频一区二区 |