最近、約 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.
"""