gpt4 book ai didi

python - 计算执行不同参数的函数的次数,然后在按下 ENTER 键时重置计数

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:54 25 4
gpt4 key购买 nike

我希望能够计算需要不同参数的已定义函数的执行次数,然后每次按下 ENTER 键时将该计数器重置为 0 。我希望能够通过下面定义的函数来利用此操作:

def draw(x):
global drawing
q.put(x)
process = False
drawingLock.acquire()
if not drawing:
process = True
drawing = True
drawingLock.release()
if process:
if not q.empty():
x()
drawingLock.acquire()
drawing = False
drawingLock.release()

这个函数是 queue它接受函数参数并一一执行它们,该函数的参数是在 turtle 图形窗口中绘制字母的函数。此外,按下与绘制的字母相对应的某个字母的按键即可调用此函数。例如:

onkey(lambda: draw(draw_A), "a") 
# This draws an "A" in the Turtle Graphics window when "a" is pressed on the keyboard
# If multiple "A"s pressed, it draws them one by one

我怎么数一下这个draw()有多少次了?函数已经被用户在 turtle 图形窗口中执行过,然后每次按ENTER键时重置它?我尝试为此创建一个装饰器,但是我创建的装饰器不会返回任何带有 turtle 图形的内容,并且似乎不适用于参数可能随用户选择的参数而变化的函数。非常感谢有关此问题的任何帮助! :)

最佳答案

函数允许属性:

def draw(x):
if not hasattr(draw, 'counter'):
draw.counter = 0
draw.counter += 1
# body

捕获用户的 ENTER:

def handle_enter():
draw.counter = 0

onkey(handle_enter, 'Enter')

查看它被调用了多少次:

print('`draw` has been called {} times'.format(draw.counter))

关于python - 计算执行不同参数的函数的次数,然后在按下 ENTER 键时重置计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com