0

最近、約 1 か月前に Python のコースを修了しました。プログラムを作成することで、Python に関する知識を広げ続けています。

以下のコードは、Python カウントダウン プログラムのプログラムです。プログラムが行うことは、ユーザーに秒、分、時間のカウントを入力するように求めることです。

とにかく、プログラムで発生する 2 つのバグに気付きました。

最初のバグ: 時間と秒のカウントを入力すると (分カウントは入力しない)、プログラムはその特定の時間の残り時間をカウントしますが、時間を減算せず、分を 59 に戻します。代わりに、出力されます。負の数としての分。

2 番目のバグ: 時間、秒、および分のカウントを入力すると、プログラムは残り時間をカウントします。しかし、プログラムが最後の分 (01:00:59) に達すると、その分をスキップして次の分 (00:59:59) に進みます。

2 つ目のバグについて: 1 時間 1 分 5 秒を入力するとします。5秒カウントダウンします。コンピュータは 1:00:00 を出力します。その特定の分の秒をカウントダウンする代わりに。0:59:59 にスキップします。これら 2 つのバグの修正と、プログラムのフォーマットを変更する方法について、何らかの支援を得ることができれば素晴らしいと思います。

読んでくれてありがとう。あなたの答えを楽しみにしています - 匿名

import time
time_count = 0
    second = int(raw_input("Seconds:"))
    count_minute = int(raw_input("Minutes:"))
count_hour = int(raw_input("Hours:"))

    time_count += second
time_count += count_minute * 60
time_count += count_hour * 3600

    def clean():    
    global second
    global count_minute
    global count_hour
    print_second = str(second).zfill(2)
    print_minute = str(count_minute).zfill(2)
    print_hour = str(count_hour).zfill(2)
    print "%s:%s:%s" % (print_hour, print_minute, print_second)
time.sleep(1)
clean()
time.sleep(1)
for i in range(1, time_count + 1)[::-1]:
    if second == 0 and count_minute == 0 and count_hour == 0:
        clean()
        break 
    elif second != 0:
        second -= 1
    elif second == 0:
        count_minute -= 1
        second = 59
        if count_minute == 0 and count_hour > 0:
            clean()
            count_hour -= 1
            count_minute = 59
    clean()
    time.sleep(1)
print """
Timer Finished.
"""
4

1 に答える 1