Python

【コピペで簡単】Pythonのカウントダウンタイマーを作ってみた

pythonカウントダウンの記事のアイキャッチ

スポンサーリンク

悩んでいる人
Pythonで処理の中にスリープを入れたけど何秒経ったのか可視化したい

 

この記事ではこんな悩みについて書いていきます。

 

本記事の内容

  • Pythonでカウントダウンの処理のコード
  • カウントダウンのコードの内容について
  • カウントダウンのコード実行例

 

 

Pythonでカウントダウンの処理のコード

 

カウントダウンのコードはこんな感じになります!

pythonのカウントダウンのコード


 Python
from time import sleep
    
def count_down(max, interval_sec=1):
    """
    count(最大時間, 時間の間隔)
    例:
    count(10)なら1秒間隔で通知を10秒まで行う
    count(10, 2)なら2秒間隔で通知をを10秒まで行う
    """
    
    #最大時間
    max_sec = max // interval_sec
    
    #割り切れない時間
    remainder_sec = max % interval_sec
    
    #間隔
    sec = interval_sec
    
    for i in range(max_sec):
        print("{0}秒sleepを{1}間隔でお知らせ: 残り{2}秒".format(max, sec, max - (i * sec)))
        sleep(interval_sec)
   
    
    if remainder_sec == 0:
        print(f"{max}秒経ちました")
    
    else:
        print("{0}秒sleepを{1}間隔でお知らせ: 残り{2}秒".format(max, sec, max - (max_sec * sec)))
        sleep(remainder_sec)
        print(f"{max}秒経ちました")

 

 

カウントダウンのコードの内容について

 

 

引数のmax数えたい時間interval_sec通知する時間の間隔を設定します!

 

例えば、100秒のsleepで10秒ごとに通知したいならcountdown(100, 10)になり、10秒、10秒...、を100秒経つまでお知らせしてくれます!

 

 

interval_secはデフォルトで1秒と設定されていますの指定しなければ1秒ごとに通知されます。

 

ちなみに、countdown(10, 3)のようにinterval_secにmaxが割り切れない数字を入れた場合でもしっかり動作するようにしています!
この場合は3秒、3秒、3秒の処理の後に余った1秒をsleepさせるという処理になります。
ハルマチ

 

※注意※少数(float)は未対応

 

この関数の引数はint(整数)限定です。

 command
Traceback (most recent call last):
File "c:\Users\~\countdown.py", line 33, in
count_down(1.1, 1)
File "c:\Users\~\countdown.py", line 19, in count_down
for i in range(max_sec):
TypeError: 'float' object cannot be interpreted as an integer

 

こんな感じで引数に少数を設定するとエラーが起きてしまうので設定しないようにしましょう!

 

 

カウントダウンのコード実行例

 

悩んでいる人
あ~スプレッドシートは一度の100回のリクエストごとに100秒待たないといけないのか~
...あれ?あと何秒待てばいいんだっけ?
こんな時にcountdown関数は役立ちます!
ハルマチ

 

こんな感じでfor文の中に11の倍数のループででcountdown関数実行させようとすると

pythonのカウントダウンコードの実行例

 

カウントダウンコードの実行例

 

しっかりと10秒ごとにお知らせしてくれていますね!

 

 

まとめ

 

Pythonのカウントダウンのコードはネットにあるんですが、欲しい機能がなかったので自分で作ってみました!

 

 

すべてのコードを理解しようとするのではなく「なんかよくわかんないけどこれ入れたらこんな動作するな~」くらいの気持ちで取り組んだらコード記述するのが結構楽に思えたのでやっぱ力抜くのって大事だなぁといじくっているとき強く認識しました。

 

スポンサーリンク

  • この記事を書いた人

Harumachi

現在絶賛引きこもりニートのハルマチです。 とても東大に行きたくなったので現在それに向けて勉強しております。 よろしくお願いします!

-Python
-

Copyright © ハルマチのブログ All Rights Reserved.