我是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()
尝试像这样修改此部分:
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)