Привет, я использую Python Tkinter и создал список кнопок. Я пытался запрограммировать его, поэтому, если вы нажмете кнопку, текст на нем изменится на X или O (для игры Tic Tac Toe). Я попытался использовать кнопку ["text"] = "текст", но он просто появляется с ошибкой. Вот код на данный момент:
from tkinter import *
import tkinter.messagebox
tk=Tk()
tk.title("Tic Tac Toe")
bclick = True
buttons = [" "," "," "," "," "," "," "," "," ",]
button_list = [" "," "," "," "," "," "," "," "," ",]
def make_button(n, row, col):
button_list[n] = Button(tk,text=" ",bg='gray',fg='white',height=4,width=8,command=lambda:ttt(buttons, n))
button_list[n].grid(row=row,column=col, sticky=S+N+E+W)
button_list[n] = n
a = 0
B = [0,0,0,1,1,1,2,2,2]
C = [0,1,2,0,1,2,0,1,2]
while a != 9:
b=B[a]
c=C[a]
make_button(a, b, c)
a+=1
def ttt(buttons, n):
global bclick
if buttons[n] == " " and bclick == True:
buttons[n] = "X"
button_list[n]["text"] = "X"
bclick = False
elif buttons[n] == " " and bclick == False:
buttons[n] = "O"
bclick = True
Ошибка в комментарии:
Файл "C: \ Users \ Eva Morris \ Documents \ computing \ Tic-Tac-Toe.py", строка 28, в ttt button_list [n] ["text"] = "X" TypeError: объект 'int' не поддерживает назначение предметов