Home > Software engineering >  How do i do some stuff and count time in parallel in python?
How do i do some stuff and count time in parallel in python?

Time:04-10

I want my code to take some integers for some time (e.g. 10 seconds) and to count and print time every second. So it prints time permanently and i enter some numbers whenever i want. Maybe i should use async functions?

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)

CodePudding user response:

You can move the timing code to a different thread. I would recommend researching about multi-threading in Python if you aren't aware about it.

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()))

The countTime function will keep on running on another thread, and will not be paused by the input statement

  • Related