これは私のコードです:
from Tkinter import*
from random import radint
Characters=[Percy,Annabeth,Leo,Chuck,Sarah]
Used = []
def callback():
selected = None
end = len(Characters)-1
rando = randint(0,end)
selected = Characters[rando]
for i in Characters:
if i in Used:
print 'This has already been used'
else:
Characters[rando]()
Used.append(Characters[rando])
game = Tk()
game.geometry('50x50+700+100')
Button1 = Button(game,text = '1',command =lambda:callback() )
Button1.pack(side=LEFT)
game.mainloop()
プログラムが実行され、ウィンドウにボタンが1つあり、ボタンをクリックすると、リスト「文字」(すべてプロシージャー) から値の1つがランダムに選択され、プロシージャーが実行され、追加されます。選択した値を「使用済み」リストに追加し、もう一度ボタンをクリックすると、その値が既に使用されているかどうかがチェックされ、使用されている場合は「これは既に使用されています」と表示され、使用されていない場合は実行されます。しかし、何が起こっているのかというと、同じ手順を複数回実行し、ルート ウィンドウ (ゲーム) を閉じると、ボタンを押したときに実行されたすべての手順が再実行されます。 1時間、それを理解することはできません。