LoginSignup
0
0

【写経】Pythonでカウントダウンタイマー

Posted at

サマリ

ネットの記事を参考にPythonで超シンプルなカウントダウンタイマーを書きました。
(本当に基本的な内容なのでご容赦ください)

背景

Pythonの学習を始めたので、慣れるために超シンプルなプログラムを書いてみようということでやってみました。
(+月一投稿を何とか維持するため。。(おい))

ゴール

  • Pythonプログラムで10→0までカウントダウンするプログラムを書き、実行する。
  • コマンドライン上に秒数がカウントダウンされていることを確認する。

対象読者

  • Python勉強したての方
  • 自分(備忘のため)

前提

必須:PC、エディタ、Python
推奨:Pythonの基本的な知識

環境

  • ホストOS:Window10 Home
  • Python:3.10.6
  • エディタ:VisualStudioCode 1.77.3
  • PowerShell:5.1.19041.3031

手順

こちらの記事を参考に(写経)させていただきました…!
ありがとうございました。

環境準備

今回の環境はすべて事前に導入済の前提で進めておりますが、もしこの記事を見ている方で同じ環境にしたい方がいれば以下参考にしていただければと思います。

注意
自環境ではすでに各ソフト導入済みのため、以下の手順は実施しておらず
URL内の手順を担保してはおりません。あくまで参考URLの一つとしてみていただければと思います。

  • Pythonのインストール方法

  • VisualStudioCodeのインストール方法

  • PowerShellのインストール方法

コーディング

コーディングというほど大したことはしていませんが、
VSCodeにて、countdowntimer.pyというファイルを作成します。
(ファイル名は一例で、拡張子pyだけあっていればなんでも大丈夫です。)
コードの中身は以下です。

countdowntimer.py
from time import sleep

target_time = 10

def down_timer(secs):
    for i in range(secs,-1, -1):
        print(i)
        sleep(1)
    print("時間です!")

down_timer(target_time)

ざっくり処理の内容ですが、
まず、timeモジュールから、sleep関数をインポートします。
これはこの記事にもある通り、
一時的に処理を止める関数です。

Pythonにはsleepという関数があります。sleep関数はtimeモジュールに含まれている関数のひとつです。”睡眠”を意味するsleepからとっているように、処理を一時的に停止できます。
また、sleep関数を利用することで「一定の間隔を開けて処理する」ことも可能です。

引数の単位は秒です。

target_timeは、カウントダウンしたい秒数を代入します。

その後、down_timer関数を定義します。
内容は、引数(今回は10秒)から0秒まで1秒ずつデクリメントし、
毎回その秒数の表示かつsleep関数で1秒処理停止
という流れを繰り返すというものです。
0秒になったら時間です!という文字列を表示します。

実行

ファイルを保存したら、PowerShellにて作成したcountdonwtimer.pyを実行します。

PowerShellを開き、ファイルを保存したフォルダまで移動します。(今回はデスクトップ)
python countあたりまで打ち込んでTabキーを押すと自動で補完してくれます。
その際の画面は以下です。
cap.png

Enterキーで実行します。

cap.png

だいたい1秒ごとに数字が表示され、最後に時間です!の文字が表示されました!

結果

カウントダウンタイマーをPythonで作ることができました。

学び

初学者の自分としては個人的には実行環境がハードルに感じることが多いのですが、
今回簡単な環境で実行できたのはよかったです。
関数も一つだけでイメージしやすいものだったので勉強になりました。

まとめ

表示の仕方や応用方法などもっと工夫の仕方はあるかもしれませんが、
まずはこういった簡単なものを積み重ねていって定着させていこうと思います…!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0