第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

時間函數(shù)總是給我 0.0 輸出

時間函數(shù)總是給我 0.0 輸出

達令說 2023-05-23 15:56:11
我試圖制作一個 CPS 計數(shù)器,當(dāng)我達到 100 次點擊時,它應(yīng)該打印“測試”并打印達到 100 次點擊所花費的時間。但它總是給出 0.0 作為時間輸出。import tkinterimport timecounter = tkinter.Tk()clicks = 0def addClick():    global clicks    clicks = clicks + 1    lbl.configure(text=clicks)    start = time.time()    if clicks == 100:        print("test")        end = time.time()        print(start - end)lbl = tkinter.Label(counter, text = clicks)lbl.pack()btn = tkinter.Button(counter, text="Click here", command=addClick)btn.pack()counter.mainloop()
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

... 

start = time.time()

if clicks == 100:

    print("test")

    end = time.time()

    print(start - end)

start每次單擊后您都會重新啟動。一種可能的解決方案是僅在第一次單擊后啟動它。這也需要start是一個全局變量。


還要注意你應(yīng)該做的end - start,不是start - end。


clicks = 0

start = None

...

global clicks

global start

...


if clicks == 1:

    # instantiating 'start' only if it was the first click

    start = time.time()

elif clicks == 100:

    print("test")

    end = time.time()

    print(end - start)

然而,使用全局變量是一種代碼味道和反模式,我們在這么小的程序中已經(jīng)有 2 個了。


您可以嘗試將它們包裝在數(shù)據(jù)結(jié)構(gòu)中,例如dict:


import tkinter

import time


counter = tkinter.Tk()


data = {'clicks': 0, 'start': None}


def addClick():

    data['clicks'] += 1

    lbl.configure(text=data['clicks'])


    if data['clicks'] == 1:

        # instantiating 'start' only if it was the first click

        data['start'] = time.time()

    elif data['clicks'] == 100:

        print("test")

        end = time.time()

        print(end - data['start'])


lbl = tkinter.Label(counter, text=data['clicks'])

lbl.pack()


btn = tkinter.Button(counter, text="Click here", command=addClick)

btn.pack()


counter.mainloop()

另一個適合現(xiàn)實世界的解決方案是將整個 tkinter 應(yīng)用程序包裝在一個類中,該類可以跟蹤其自身狀態(tài)。


查看完整回答
反對 回復(fù) 2023-05-23
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號