gpt4 book ai didi

python - 我有一些代码,我想对其进行一些故障排除

转载 作者:行者123 更新时间:2023-12-01 07:35:42 25 4
gpt4 key购买 nike

我的计时器无法正常工作,因为它会永远打印,这不是我想要的。

我已经尝试过以多种方式重新组织脚本,但结果始终相同。

import time
CommandInput = input()
#execution [uptime]
def uptime(y):
while 1 == 1:
if (CommandInput == "uptime"):
print(y, " seconds")
y = y + 1
time.sleep(1)


uptime(9)

我想制作某种“后台计时器”,它从脚本执行到关闭一直运行,如果我在输入中键入某一行,它会显示它所在的当前数字。问题是它会永远打印计时器,对于它计数的每个数字。我想做一件一次性的事情,您可以根据需要等待并键入输入,这将显示计时器所在的数字。

最佳答案

您当前的程序必须等待 input() 完成。在用户按下 Enter 之前,编译器不会越过第二行。因此,一旦输入完成,函数就会启动。

这个计时器可以通过多种方式完成,例如线程或计时器。有一些 herehere 的示例。对于线程,您需要一个用于用户输入的进程和一个用于计时器的进程。但更好、更简单的方法是使用计时器并存储当前时间。我相信下面的代码与您想要的有些相似:

import time

start_time = time.time()

def get_time():
current_time = time.time()
total = current_time - start_time
return total

while True:
CommandInput = input()
if CommandInput == "uptime":
y = get_time()
print(str(round(y)) + " seconds")

变量start_time记录开始时的当前时间。 time.time() 获取计算机上的当前时间(以秒为单位)。 get_time 函数在输入后调用,并通过减去当前时间减去开始时间来查看已经过去了多少时间。这样您就不需要多个循环。

while True 循环只是等待用户输入,然后打印时间。然后重复此过程,直到退出程序。

关于python - 我有一些代码,我想对其进行一些故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56998584/

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