在Python中连续执行单个函数之间的时间

时间:2018-07-25 11:10:00

标签: python python-3.x tkinter time chess

很抱歉,如果问题有点模糊,我会在必要时进行编辑。

我正在用Tkinter在Python中创建一个国际象棋游戏,并希望添加一个国际象棋计时器。 当玩家移动一个棋子时,将调用move()函数,从而将棋子移至正确的正方形,然后转弯切换(从黑色到白色,反之亦然)-转弯是一个列表[“ W”,“ B “]来跟踪轮到谁。

在玩家选择一个正方形移动到以下位置时调用:

def move():
    #code here
    turn.reverse()

要为每次移动计时,我想测量一下move()函数连续执行之间的时间(即转向开关之间的时间)。

总结一下:

如何测量同一函数连续执行之间的时间?

编辑

从答案中我可以看到我的问题被误解了,很抱歉您没有澄清: 我希望测量执行一个函数(move()函数)所需的时间。 我正在寻找连续执行之间的时间。这里给出的答案假设我只想测量函数从头到尾的执行时间。您不能假设move()函数在完成后立即再次执行;通过单击一个按钮可以调用它,因此在再次调用move()函数之前可能会有一个延迟(考虑移动)。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用python的time模块。如果我正确理解了您的问题,则可以执行以下操作:

import time
initial_time = time.monotonic()
def move():
    #code here
    time_gap = time.monotonic() - initial_time
    print(time_gap)
    initial_time = time.monotonic()
    turn.reverse()