```python=
import tkinter as tk#導入視窗模組
import random#生成偽隨機數
def createNewWindow():#開啓新視窗
newWindow = tk.Toplevel(app)
# 標示文字
labelExample = tk.Label(newWindow,
text = "請輸入4位1-9的不重複數字:",
font = ('微軟正黑體', 14))
# 輸入欄位
entry = tk.Entry(newWindow, width = 20) # 輸入欄位所在視窗及輸入欄位的寬度
return newWindow
#主要程式碼
def insert_point():
total='123456789'
answer=random.sample(total,4)
for guessTimes in range(6):
guess=""
for inputErros in range(3):
guess=entry.get()#導入entry輸入的數字
if guess.isdigit()==True and len(guess)==4:
guessSet=set(guess)
if len(guessSet)==4 and guessSet.isdisjoint(set('0')):
break
else:
print("您沒有理解遊戲規則,遊戲結束。")
break
A=0
B=0
for j in range(4):
if guess[j]==answer[j]:
A+=1
else:
for k in range(4):
if guess[j]==answer[k]:
B+=1
if A<4:
if guessTimes<5:
print("%dA%dB,您還有%d次機會。"%(A,B,5-guessTimes))
else:
print("很遺憾您沒有猜對,答案是%s,再玩一局吧。"%(answer))
else:
print("恭喜您猜對了!")
break
var = entry.get()
entry.delete(0,"end")
table.insert('insert',var+'\n')
# 建立按鈕
btnshow = tk.Button(newWindow, text = "確定",font = ('微軟正黑體', 14),
width='10', height='1',
command=insert_point)
return guess
#關閉視窗
def close_window():
app.destroy()
# 建立按鈕
buttonExample = tk.Button(newWindow,text = "結束遊戲",font = ('微軟正黑體', 14),
width='10', height='1',
command = close_window)
# 以預設方式排版按鈕
labelExample.pack()
entry.pack()
table = tk.Text(newWindow,height = 6)
table.pack()
btnshow.pack()
buttonExample.pack()
app.mainloop()
app = tk.Tk()# 建立主視窗 Frame
app.title("猜數字遊戲")# 設定視窗標題
label = tk.Label (text = '遊戲規則:\n您可以選擇4個數字,\n數字的位置相同得1個A,\n數字對位置錯則得1個B,\n若數字錯不會顯示任何數字,\n以此類推\n加油!你有5次機會\n', # 顯示文字
font = ('微軟正黑體', 14), # 字型與大小
width = 30, height = 16) # 文字標示尺寸
label.pack()
buttonExample = tk.Button(app,
text="遊戲開始",font = ('微軟正黑體', 14),
width='10', height='1',
command=createNewWindow)
# 建立按鈕
buttonExample.pack()
# 執行主程式
app.mainloop()
```