Day 204簡単なカウントダウンタイマー
Pythonコード
1import time2 3def countdown(t):4 while t:5 mins, secs = divmod(t, 60)6 timer = '{:02d}:{:02d}'.format(mins, secs)7 print(timer, end="\r")8 time.sleep(1)9 t -= 110 print('タイマー終了!')11 12t = input('カウントダウン時間を入力してください(秒): ')13try:14 t = int(t)15except ValueError:16 print('数値を入力してください。')17else:18 countdown(t)
解説
- 行1〜2: timeモジュールをインポートします。timeモジュールには、時間に関する関数が用意されています。ここでは、time.sleep()関数を使用して、指定した時間だけプログラムを停止します。time.sleep()関数は、指定した時間(秒)だけプログラムの実行を停止します。
- 行3〜10: countdown()関数を定義します。この関数は、指定した時間(t)までカウントダウンします。whileループで時間を減らしていき、残り時間を分と秒に変換して表示します。divmod()関数は、2つの数値の商と余りを返します。ここでは、時間を分と秒に変換するために使用しています。
- 行11〜18: ユーザーにカウントダウン時間を入力してもらいます。入力された値を数値に変換しようとします。数値に変換できない場合は、エラーを表示します。try-except文は、プログラムでエラーが発生した場合に、エラーを処理するために使用します。
- 行7: print()関数は、画面に文字や値を表示する関数です。end="\r"は、print()関数が改行せずに、同じ行に表示するための引数です。
次に試してみよう
- カウントダウンタイマーにアラーム音を追加してみましょう。
- ユーザーが入力した時間をチェックして、0以下の場合はエラーを表示するようにしてみましょう。
- カウントダウンタイマーを複数回実行できるように、whileループで囲んでみましょう。