在python中,输入后如何结束倒计时

问题描述 投票:0回答:2

描述:现在,我已经完成了输入和倒数,这两个操作是同时执行的,但是我想这样实现:

((1)当我在倒数计时中没有输入任何内容时,它将在倒计时后执行另一个功能

((2)当我在倒数计时结束之前输入内容时,倒数计时将暂停,然后将执行另一个功能

我的代码如下:

import time
from threading import Thread


def waitinput():

    wait_input_str = input("Please enter your account:\n")
    print(wait_input_str)


thd = Thread(target=waitinput)
thd.daemon = True
thd.start()
for i in reversed(range(1, 11)):
    print("\rcountdown:{}second".format(i), end="")
    time.sleep(1)
# ###########################################

任何人都知道,请回复我谢谢!

python multithreading input timeout
2个回答
0
投票

您可以使用isAlive()方法检查线程是否已终止。

根据您的情况:

import time
from threading import Thread


def waitinput():

    wait_input_str = input("Please enter your account:\n")
    print(wait_input_str)


thd = Thread(target=waitinput)
thd.daemon = True
thd.start()
for i in reversed(range(1, 11)):
    if not thd.isAlive():
        # Execute 2
        print("\nCountdown has stopped")
        break
    print("\rcountdown:{}second".format(i), end="")
    time.sleep(1)

if thd.isAlive():
    # Execute 1
    print("\nCountdown has ended")

0
投票

谢谢您的答复,但我的声誉不到50。

© www.soinside.com 2019 - 2024. All rights reserved.