获得执行的时间

问题描述 投票:1回答:1

我是Python的新手,我试图获取执行的经过时间。我想打印开始时间,结束时间和经过时间。但这并没有如我所愿。这是一个包含选项菜单的程序,我想打印执行时间。

from tkinter import *
from timeit import default_timer as timer
class Sum:
    def __init__(self,name,firstVariable,secondVariable):
        self.name=name
        self.firstVariable=firstVariable
        self.secondVariable=secondVariable
        sumList.append(self)
        sumNames.append(name)
def getSum():
   start=timer()
   for s in sumList:
        if s.name==selectedSum.get():
            sum=s.firstVariable+s.secondVariable
            age.set(sum)
   end=timer()
   elapsedTime=end-start
   print(start)
   print(end)
   print(elapsedTime)
mainWindow=Tk()
mainWindow.title("Sum")
mainWindow.resizable(width=FALSE,height=FALSE)
mainWindow.geometry("500x400")
sumList=[]
sumNames=[]
Sum("13+12",13,12)
Sum("17+11",17,11)
Sum("20+10",20,10)
selectedSum=StringVar()
selectedSum.set(sumNames[0])
sumMenu=OptionMenu(mainWindow,selectedSum,*sumNames)
sumMenu.pack()
selectBtn=Button(mainWindow,text="select",command=getSum)
selectBtn.pack()
age=IntVar()
ageLbl=Label(mainWindow,textvariable=age)
ageLbl.pack()
mainWindow.mainloop()
python tkinter timeit
1个回答
0
投票

尝试像这样修改此部分:

from timeit import timeit

def getSum():
   timer = """
   for s in sumList:
        if s.name==selectedSum.get():
            sum=s.firstVariable+s.secondVariable
            age.set(sum)
   """
   elapsed_time = timeit(timer, number = 1000)/1000
   print(elapsed_time)
© www.soinside.com 2019 - 2024. All rights reserved.