我如何在 python 中同时做一些事情并计算时间?
How do i do some stuff and count time in parallel in python?
我希望我的代码在一段时间内(例如 10 秒)取一些整数并每秒计算和打印时间。所以它会永久打印时间,我可以随时输入一些数字。也许我应该使用异步函数?
def accepting_bets():
global list_of_bets
list_of_bets = []
list_of_bets.append(int(input()))
def main():
i = 10
while True:
print(f"{i} seconds remaining...")
time.sleep(1)
i -= 1
accepting_bets()
if i == 0:
break
print(list_of_bets)
您可以将计时代码移动到不同的线程。
如果您不知道 multi-threading,我建议您在 Python 中进行研究。
import threading
import time
def countTime():
i = 10
while True:
print(f"{i} seconds remaining...")
time.sleep(1)
i -= 1
if i == 0:
break
print(list_of_bets)
thread1 = threading.Thread(target=countTime)
thread1.start()
# while you want to get the input
global list_of_bets
list_of_bets = []
list_of_bets.append(int(input()))
countTime
函数会在另一个线程上继续运行,不会被输入语句暂停
我希望我的代码在一段时间内(例如 10 秒)取一些整数并每秒计算和打印时间。所以它会永久打印时间,我可以随时输入一些数字。也许我应该使用异步函数?
def accepting_bets():
global list_of_bets
list_of_bets = []
list_of_bets.append(int(input()))
def main():
i = 10
while True:
print(f"{i} seconds remaining...")
time.sleep(1)
i -= 1
accepting_bets()
if i == 0:
break
print(list_of_bets)
您可以将计时代码移动到不同的线程。 如果您不知道 multi-threading,我建议您在 Python 中进行研究。
import threading
import time
def countTime():
i = 10
while True:
print(f"{i} seconds remaining...")
time.sleep(1)
i -= 1
if i == 0:
break
print(list_of_bets)
thread1 = threading.Thread(target=countTime)
thread1.start()
# while you want to get the input
global list_of_bets
list_of_bets = []
list_of_bets.append(int(input()))
countTime
函数会在另一个线程上继续运行,不会被输入语句暂停