Pythonで現在時刻と指定時刻の差を求めるプログラムの作り方
はじめに
現在の時刻と指定された時刻との差を求めたい場合、時と分をパラメータとして受け取る関数を定義すると便利です。この関数は、2つの時刻を分単位に変換して差を計算し、その結果を時間と分の形式で出力します。
以下に具体的な実装例を示します。
サンプルコード
def difference_time(h_1, m_1, h_2, m_2):
t_1 = h_1 * 60 + m_1
t_2 = h_2 * 60 + m_2
if (t_1 == t_2):
print("2つの時刻は同じです")
return
else:
diff = t_2 - t_1
hours = (int(diff / 60)) % 24
mins = diff % 60
print(hours, ":", mins)
if __name__ == "__main__":
print("時刻の差は以下の通りです:")
difference_time(13, 20, 11, 49)
difference_time(17, 11, 9, 59)
difference_time(21, 4, 11, 34)
実行結果
時刻の差は以下の通りです: 23 : 29 17 : 48 15 : 30
コードの解説
difference_timeという名前の関数を定義し、2つの時刻それぞれについて「時」と「分」の合計4つのパラメータを受け取ります。各時刻を「時 × 60 + 分」という式で分単位の値に変換します。
2つの時刻が同一の場合はその旨を表示して処理を終了し、異なる場合は両者の差を計算します。
計算した差に対して
% 24と% 60を適用することで、時間と分に変換して出力します。これにより24時間表記にも対応できます。メイン処理では、異なるパラメータを渡してこの関数を複数回呼び出し、その結果をコンソールに表示しています。
-
Pythonでリスト内のすべてのペア間の絶対差の合計を求めるプログラム
本記事では、リスト内のすべてのペア間の絶対差の合計を求める問題の解法とアプローチについて解説します。 問題文 リストが入力として与えられたとき、そのリスト内のすべてのペア間の絶対差の合計を求める必要があります。 解法のアプローチ enumerate() メソッドは、イテラブル(反復可能オブジェクト)にカウンターを付加し、enumerate オブジェクトとして返す組み込み関数です。ループ処理の中でインデックスと要素を同時に取得したい場合に非常に便利です。 この手法では、まず絶対差を格納するためのリスト「diffs」を用意します。 次に、2つの変数を持つ二重ループを使用します。片方はカウンター(イ
-
Pythonで奇数桁と偶数桁の合計の差を判定するプログラム
この記事では、与えられた問題を解決するための解法とアプローチについて詳しく解説します。 問題文 整数が1つ与えられたとき、奇数桁の合計と偶数桁の合計の差が0であるかどうかを判定する必要があります。 素朴なアプローチ(ブルートフォース) 最も単純な方法は、数値を構成するすべての偶数桁と奇数桁の合計をそれぞれ計算し、その差を求めることです。しかし、この方法では各桁を順番に処理するため、桁数に比例した計算時間が必要になります。 効率的なアプローチ:11の倍数判定を活用 計算時間を削減するために、「暗算の数学」でよく知られている性質を利用します。それは「ある整数の奇数桁の合計と偶数桁の合計の差が0にな