3つの数値から最大値を見つけるPythonプログラム
このチュートリアルでは、3つの数値の中から最大値を求めるPythonプログラムを作成します。3つの数値が与えられたとき、その中で最も大きい数値を見つけることが目標です。
まず、理解を深めるためにサンプルのテストケースをいくつか見てみましょう。
入力: a, b, c = 2, 34, 4 出力: 34
入力: a, b, c = 25, 3, 12 出力: 25
入力: a, b, c = 5, 5, 5 出力: 5
それでは、3つの数値の中から最大値を求める手順を見ていきましょう。
アルゴリズム
1. 3つの数値 a、b、c を初期化する。 2. a が b と c の両方より大きければ、a を出力する。 3. そうでなく、b が c と a の両方より大きければ、b を出力する。 4. そうでなく、c が a と b の両方より大きければ、c を出力する。 5. 上記以外(すべて等しい)の場合は、いずれか1つの数値を出力する。
続いて、上記のアルゴリズムを実際のコードで確認してみましょう。
コード例
## 3つの数値を初期化
a, b, c = 2, 34, 4
## 最大値を求めるための条件分岐
## a が最大の場合
if a > b and a > c:
## a を出力
print(f"Maximum is {a}")
## b が最大の場合
elif b > c and b > a:
## b を出力
print(f"Maximum is {b}")
## c が最大の場合
elif c > a and c > b:
## c を出力
print(f"Maximum is {c}")
## すべて等しい場合
else:
## 3つのうちいずれかを出力
print(a)実行結果
上記のプログラムを実行すると、次の出力が得られます。
Maximum is 34
今度は、すべての数値が等しい別のテストケースでコードを実行してみましょう。
コード例(同点の場合)
## 3つの数値を初期化
a, b, c = 5, 5, 5
## 最大値を求めるための条件分岐
## a が最大の場合
if a > b and a > c:
## a を出力
print(f"Maximum is {a}")
## b が最大の場合
elif b > c and b > a:
## b を出力
print(f"Maximum is {b}")
## c が最大の場合
elif c > a and c > b:
## c を出力
print(f"Maximum is {c}")
## すべて等しい場合
else:
## 3つのうちいずれかを出力
print(f"Maximum is {a}")実行結果
上記のプログラムを実行すると、次の出力が得られます。
Maximum is 5
補足:max()関数を使う方法
なお、Pythonには組み込みの max() 関数が用意されているため、同じ処理をわずか1行で実現することもできます。
a, b, c = 2, 34, 4
print(f"Maximum is {max(a, b, c)}")ただし、条件分岐のロジックそのものを学びたい初心者の方にとっては、if文やelif文を使って自分で条件を組み立てる練習がとても重要です。まずは本記事のように手を動かして実装し、その後にmax()関数との違いを比べてみると理解が深まります。
まとめ
今回は、if文による条件分岐を使って、3つの数値の中から最大値を求めるプログラムの作り方を解説しました。本チュートリアルについて不明な点がある場合は、ぜひコメント欄でお知らせください。
-
Pythonで行列の転置を求めるプログラム
この記事では、与えられた問題に対する解法とアプローチについて詳しく解説します。 問題文 ある行列が与えられたとき、その転置を同じ行列に格納し、結果を表示する必要があります。 行列の転置とは、行を列に、列を行に入れ替えたものです。言い換えれば、行列Aの転置は、要素A[i][j]をA[j][i]と入れ替えることで得られます。 実装例 N = 4 def transpose(A): for i in range(N): for j in range(i+1, N): A[i][j], A[j][i] = A[j][i], A[i][j] # ドライ
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に