簡體   English   中英

如何顯示倒數計時器並同時接受用戶輸入(python)?

[英]How do you display a countdown timer and accept user input at the same time (python)?

大家好

這是我第一次在這個平台上發布我的問題,所以請原諒我可怕的提問方式。 另外,我要感謝大家看到我的困難。

目前,我想創建一個類似測驗的算法,該算法將顯示一個每秒倒數一次的倒數計時器,而用戶可以隨時輸入他們的答案。 這是我的代碼示例:

import time

chance = 2

def countdown(t):
    while t > 0:
        secs = t % 60
        timer = "{:02d}".format(secs)
        print(timer, end="\r")
        time.sleep(1)
        t -= 1

while chance > 0:
    print("Type '1'")
    countdown(int(10)
    answer = input("Enter: ")

    if answer == 1:
        print("Correct")
        break

    elif t == 0:
        print("Time over")
        break

    else:
        chance = chance - 1
        print("Wrong")

期望的結果:

  • 如果用戶寫了一個無效的答案,則會再給一次機會,並且倒計時會重置。
  • 倒計時應該保留在控制台中滴答作響並每秒打印一次結果
  • 輸入仍會在那里,以便用戶可以隨時鍵入答案。

不排除,由於某些語法錯誤,代碼無法正常工作(我不是一個好的編碼員 D:,抱歉)。 我會很高興看到其他很棒的代碼示例,它們的目的與我的意圖完全相同,或者是一些修復此代碼的建議。

再次感謝您閱讀我的麻煩,希望您能為我提供一些可靠的解決方案來解決這種情況。

正如你所提到的,你的代碼中有幾個語法錯誤,我會讓你自己找出這些錯誤(提示其中之一:你不應該print一個函數)。

你想要的是同時運行兩個函數(定時器在后台運行,而輸入函數在最前面運行)。 因此,請查看如何使用 python 進行線程處理。Python 中定時器線程處理的有用資源: https://www.educba.com/python-threading-timer/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM