在 Python 中连续执行单个函数之间的时间
Time between consecutive executions of a single function in Python
抱歉,如果问题有点含糊,我会根据需要进行编辑。
我正在使用 Tkinter 在 Python 中创建一个国际象棋游戏,并想添加一个国际象棋计时器。
当玩家移动棋子时,会调用 move() 函数,使棋子移动到正确的方格,然后轮次切换(从黑色到白色,反之亦然)——轮次是一个列表 ["W", "B"] 跟踪轮到谁了。
当玩家选择要移动到的方块时调用:
def move():
#code here
turn.reverse()
为了给每个动作计时,我想测量连续执行 move() 函数之间的时间(即转动开关之间的时间)。
总结一下:
如何测量同一函数连续执行之间的时间间隔?
编辑
从回答中可以看出我的问题被误解了,很抱歉没有澄清:
我 不是 想要测量执行函数(move() 函数)所需的时间。
我想测量函数连续执行 之间的时间。这里给出的答案假设我只想测量函数从开始到结束的执行时间。您不能假设 move() 函数在完成后立即再次执行;它是通过单击按钮调用的,因此在再次调用 move() 函数之前可能会有延迟(考虑移动)。
如有任何帮助,我们将不胜感激。
您可以使用 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()
抱歉,如果问题有点含糊,我会根据需要进行编辑。
我正在使用 Tkinter 在 Python 中创建一个国际象棋游戏,并想添加一个国际象棋计时器。 当玩家移动棋子时,会调用 move() 函数,使棋子移动到正确的方格,然后轮次切换(从黑色到白色,反之亦然)——轮次是一个列表 ["W", "B"] 跟踪轮到谁了。
当玩家选择要移动到的方块时调用:
def move():
#code here
turn.reverse()
为了给每个动作计时,我想测量连续执行 move() 函数之间的时间(即转动开关之间的时间)。
总结一下:
如何测量同一函数连续执行之间的时间间隔?
编辑
从回答中可以看出我的问题被误解了,很抱歉没有澄清: 我 不是 想要测量执行函数(move() 函数)所需的时间。 我想测量函数连续执行 之间的时间。这里给出的答案假设我只想测量函数从开始到结束的执行时间。您不能假设 move() 函数在完成后立即再次执行;它是通过单击按钮调用的,因此在再次调用 move() 函数之前可能会有延迟(考虑移动)。
如有任何帮助,我们将不胜感激。
您可以使用 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()