Python 我如何使这个计时器成为每秒更新的函数? def定时器() 导入时间 x、 y,z=0,0,0 尽管如此: 时间。睡眠(1) 打印(str(z)+“:”+str(y)+“:”+str(x)) x+=1 如果x==3: x=0 y+=1 如果y==3: x、 y=0,0 z+=1 如果z==3: x、 y,z=0,0,0

Python 我如何使这个计时器成为每秒更新的函数? def定时器() 导入时间 x、 y,z=0,0,0 尽管如此: 时间。睡眠(1) 打印(str(z)+“:”+str(y)+“:”+str(x)) x+=1 如果x==3: x=0 y+=1 如果y==3: x、 y=0,0 z+=1 如果z==3: x、 y,z=0,0,0,python,Python,我尝试返回该值,但它只返回0:0:0一次,我不知道如何将其作为函数不断更新。如果您更正语法错误,它似乎可以正常工作: import time def timer(): x, y, z = 0, 0, 0 while True: time.sleep(1) print(str(z) + ":" + str(y) + ":" + str(x)) x += 1 if x == 3: x = 0

我尝试返回该值,但它只返回0:0:0一次,我不知道如何将其作为函数不断更新。

如果您更正语法错误,它似乎可以正常工作:

import time


def timer():
    x, y, z = 0, 0, 0
    while True:
        time.sleep(1)
        print(str(z) + ":" + str(y) + ":" + str(x))
        x += 1
        if x == 3:
            x = 0
            y += 1
            if y == 3:
                x, y = 0, 0
                z += 1
                if z == 3:
                    x, y, z = 0, 0, 0


if __name__ == '__main__':
    timer()
如果您决定放大此计时器(例如,时钟中有更多的空间),将值存储在列表中而不是存储在三个硬编码变量中会给您带来更大的灵活性:

import time


def timer() -> None:
    clock = [0] * 3
    while True:
        time.sleep(1)
        print(":".join(str(d) for d in clock[::-1]))
        i = 0
        while True:
            clock[i] += 1
            if clock[i] < 3:
                break
            clock[i] = 0
            i = (i + 1) % len(clock)


if __name__ == '__main__':
    timer()
您可以通过更改此行使每个数字的计数任意增加:

    clock = [0] * 3
            if clock[i] < 3:
如果时钟[i]<3:
            if clock[i] < 3: