簡単な数学ゲームにタイマーを追加しようとしています。これまでのところ、すべてがうまく機能しており、ボタンを押すとユーザーに質問が表示され、回答に対するフィードバックが提供されます。ユーザーが乗算に答えるのにかかる時間を確認するためのタイマーを追加したいと考えています。これは、この数学ゲームのプロトタイプの最後の部分です。ユーザーがスウェーデン語で新しい番号を意味する「nytt tal」をクリックするとタイマーが開始し、ユーザーがスウェーデン語で回答を意味する「svar」をクリックするとタイマーが停止するようにします。これが私のコードです。
Tkinterインポートから * インポート tkMessageBox インポートランダム 輸入時間 システムをインポート # ユーザーへの質問の定義 デフfraga1(): グローバル num3 num3 = ランダム.randint(1, 10) グローバル num4 num4 = ランダム.randint(1, 10) グローバル svar1 svar1 = num3 * num4 label1.config(text='Vad blir' + str(num3) + '*' + str(num4) + '?') entry1.focus_set() #回答に基づいてフィードバックを提供する回答 デフ svar1(): mainAnswer = entry1.get() len(mainAnswer) == 0 の場合: tkMessageBox.showwarning(message='Skriv in några nummer!') 戻る int(mainAnswer) != svar1 の場合: tkMessageBox.showwarning(message='Tyvärr det rätta svaret: ' + str(svar1)) そうしないと: tkMessageBox.showinfo(message='RÄTT!! :)') #終了ボタンの定義 デフ終了(): グローバルルート root.destroy() #この部分が動かないタイマーの定義 デフォルト開始(): グローバル count_flag フラガ1() count_flag = True カウント = 0.0 True の間: count_flag == False の場合: 壊す ラベル['テキスト'] = str(カウント) 時間.スリープ(0.1) root.update() カウント += 0.1 #ウィンドウコード ルート = Tk() root.title("乗算 tidtagning") root.geometry('800x500') count_flag = True # ラベルのウェルカム メッセージ label2 = Label(root, text="Hej!\n Nu ska vi lösa lite マットの問題!") label2.config(font=('times', 18, 'bold'), fg='black', bg='white') label2.grid(行=0、列=0) #ラベルでの遊び方の説明 label3 = Label(root, text="Instruktioner!\n For att starta ett spel tryck på nyttspel") label3.config(font=('times', 12, 'bold'), fg='black', bg='white') label3.grid(行=2、列=2) #その他のレーベル label1 = ラベル (ルート) label1.grid(行=2、列=0) # スタートボタンのエントリーウィジェット entry1 = エントリ (ルート) entry1.grid(行=3、列=0) # 再起動すると新しい質問が表示されます entry1.bind('', func=lambda e:checkAnswer()) #ボタン fragaBtn = Button(root, text='Nytt tal', command=fraga1) fragaBtn.grid(行=4、列=0) svarButton = Button(root, text='Svar', command=svar1) svarButton.grid(行=4、列=1) quit_bttn = Button(root, text = "Avsluta", command=quit) quit_bttn.grid(行=5、列=0) root.mainloop()