Python 为什么赢了';我的按钮不能正常工作吗?

Python 为什么赢了';我的按钮不能正常工作吗?,python,tkinter,Python,Tkinter,我正试图创建一个扫雷舰式的游戏在特金特。目标是点击一个按钮,随机选择一个数字,如果这个数字是1,给玩家一分。问题是,我希望你点击的按钮被禁用,它的颜色根据是否找到“猫”而改变。唯一能做到这一点的按钮是右下角的一个按钮,它可以在不同颜色之间切换并被禁用,即使不是您单击的那个按钮。我不确定问题出在哪里,所以我非常感谢你的帮助 from tkinter import * from random import * turns=10 points=0 def onclick(): global t

我正试图创建一个扫雷舰式的游戏在特金特。目标是点击一个按钮,随机选择一个数字,如果这个数字是1,给玩家一分。问题是,我希望你点击的按钮被禁用,它的颜色根据是否找到“猫”而改变。唯一能做到这一点的按钮是右下角的一个按钮,它可以在不同颜色之间切换并被禁用,即使不是您单击的那个按钮。我不确定问题出在哪里,所以我非常感谢你的帮助

from tkinter import *
from random import *
turns=10
points=0
def onclick():
    global turns,points
    iscat=randint(1,11)
    btn.configure(state="disabled")
    if iscat==1:
        btn.configure(background="blue")
        statlabel.configure(text="You found a cat!")
        points=points+1
    else:
        btn.configure(bg="red")
        statlabel.configure(text="It's empty! Hurry, or all the cats will die!")
    turns=turns-1
root=Tk()
root.title("Catsweeper")
root.configure(background="black")
frame=Frame(root)
frame.configure(bg="black")
Grid.rowconfigure(root, 0, weight=1)
Grid.columnconfigure(root, 0, weight=1)
frame.grid(row=0, column=0)
grid=Frame(frame)
grid.grid(column=0, row=7, columnspan=2)
Grid.rowconfigure(frame, 7, weight=1)
Grid.columnconfigure(frame, 0, weight=1)
chosenx=int(input("How many rows? "))
choseny=int(input("How many columns? "))
for x in range(1,chosenx+1):
    for y in range(1, choseny+1):
        btn=Button(frame, command=onclick, state = "normal")
        btn.grid(column=x, row=y)
statlabel=Label(frame, text="", background="red", fg="white")
statlabel.grid(column=choseny+1)
if turns==0:
    statlabel.configure(text="GAME OVER")
    btn.configure(state="disabled")
root.mainloop()    

onclick不知道您指的是哪个按钮,您没有向它传递对特定按钮的引用。因此,它只能使用分配给btn的最新内容,在您的情况下,它位于右下角的按钮中