0
tkinterを使ってティックタックのつま先を作っています。しかし、私はターンの値をバンプアップするとき、私は属性エラーを取得します: 'function'オブジェクトには 'called'属性がありません。私はコンピュータが、それはあなたがこの変数に1を追加します(ただし、機能player_move()
を作成した後、それを作成)する前に、いくつかの値でplayer_move.called
を作成する必要がデコレータなしでボタンが何回クリックされたかをカウントする(Python)
def player_move(widget):
if widget["o"] not in ("o", "x"):
widget["text"] = "o"
widget["state"] = "disabled"
player_move.called += 1 #The part I want to add to
computer_move()
def computer_move():
# computer moves 2nd time
if i["text"] == " ":
i["text"] = "x"
i["state"] = "disabled"
else:
c["text"] = "x"
c["state"] = "disabled"
if player_move.called == 1 and c["text"] == "x":
print("whgwhgg") #Just for testing
外部関数は、通常の変数 'player_move_called = 0'(ドットで奇妙な' player_move.called'を作成しません)を作成します。 - 開始値が '0'のグローバル変数を作成します。そして、後で 'player_move'の中で' global_player_move_called'を使って、ローカルではなく外部/グローバル変数を使用したいということを関数に通知します。 'computer_move'でも' player_move_called'を使いますが、 'player_move_called'の値を変更しないので' global_play_move_called'を使う必要はありません。 – furas