1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | import tkinter as tk import random #設定視窗。 window = tk.Tk() #設定視窗標題。 window.title('2A1B') #設定視窗大小。 window.geometry('600x300') #設定四個亂數不重覆的數字。 Number= [0,1,2,3,4,5,6,7,8,9] initial = random.sample(Number,4)
#載入Enter事件。 def Enter_key(event): button_event() #Button按鈕事件。 def button_event(): #設定1A2B初始值。 A,B=0,0 #取得Entry輸入元件上文字。 Input_number=Entry_1.get() #清除Entry輸入元件內容。 Entry_1.delete(0,'end')
Gamer_Number=[] for I in range(0,4): #擷取變數字串,分割一個一個加到Gamer_Number。 Gamer_Number.append(int(Input_number[I:I+1])) #判斷4個數字,和答案在同一位置A+1,不同位置B+1。 for AB in range(0,4): if Gamer_Number[AB]==initial[AB]: A=A+1 elif Gamer_Number[AB] in initial: B=B+1 #將幾A幾B的資料,顯在文字方框中。 Game_Number=str(A)+'A'+str(B)+'B :'+str(Input_number) Text_2.insert(tk.INSERT,Game_Number +'\n') #判斷A個4表示獲勝。 if A==4 : Text_2.insert(tk.INSERT,'-----Great-----\n') Text_2.insert(tk.INSERT,initial) #設定Label標籤參數(bg背景顏色、font字型格式、width宽度15個字元、高度1個字元) Label_1 = tk.Label(window,bg='yellow', text='請輸入四個數字:',font=('Arial', 12),width=15,height=1,padx=5) #設定排版方式在第一排靠左。 Label_1.grid(column=0, row=0,sticky='w')
#設定Entry輸入方框參數(font字型格式、width宽度5個字元) Entry_1 = tk.Entry(window, font=('Arial', 12),width=5) #設定排版方式在第二排且離左邊框距離5。 Entry_1.grid(column=0, row=1,padx=5)
#設定Text文字方框參數(font字型格式、width宽度30個字元、高度15個字元) Text_2 = tk.Text(window, font=('Arial', 12),width=30,height=15) #設定排版方式在第一排第二列且合併15格。 Text_2.grid(column=1,row=0,rowspan=15)
#設定Button按鈕及觸發事件button_event。 Button_1=tk.Button(window,text='送出', command=button_event) #設定排版方式在第三排。 Button_1.grid(column=0,row=2)
#建立Enter事件。 window.bind('<Return>',Enter_key) window.mainloop()
|
沒有留言:
張貼留言