我正在用Tk在python中創建一個Sudoku遊戲。Python:函數需要1個位置參數,但有2個被給出,怎麼樣?
我lb[0][0].bind('<KeyPress-2>',self.kk)
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1489, in __call__
return self.func(*args)
TypeError: kk() takes 1 positional argument but 2 were given
得到了有關在按鍵功能錯誤的按鈕
from random import randint
from tkinter import *
class sudoku:
global root,result,lb
def __init__(self):
self.aleatoriedade()
for k in range(9):
j=randint(0,80)
x=j//9
y=j-(x*9)
lb[x][y]['text']=result[x][y]
lb[0][0].bind('<KeyPress-2>',self.kk)
#setted this for test
root.mainloop()
def kk(self):
lb[0][0]['text']='2'
def aleatoriedade(self):
for i in range(9):
var=0
while var in result[0]:
var=randint(1,9)
result[0][i]=var
for i in range(1,9):
for j in range(9):
result[i][j]=result[0][field[i][j]-1]
#MAIN()
n = 3
field = [[(i*n + i//n + j) % (n*n) + 1 for j in range(9)]for i in range(9)]
result = [[None for i in range(9)]for i in range(9)]
lb=[[None for i in range(9)]for i in range(9)]
x=0
y=0
root=Tk()
for i in range(9):
for j in range(9):
lb[i][j]=Button(root,font=("Verdana",'13',"bold"),bd=1,height=3,width=6)
if (i in (0,1,2,6,7,8) and j in (0,1,2,6,7,8))or(i in (3,4,5) and j in (3,4,5)):
lb[i][j]['bg']='white'
lb[i][j].grid(row=i,column=j)
janela=sudoku()
與此錯誤/例外,我不介意在那裏是錯誤。我已經包含在我的功能
優秀的答案,謝謝 – Pontios