現在の見出し:2.1節:変換種別判定機能の作成
見出し一覧
- 2.1節:変換種別判定機能の作成
- - 種別判定処理の実装
- - 判定処理の改良
【PR】『Python』を学べる企業・個人向けのプログラミングコース
種別判定処理の実装
第2章2.1節では、前節(第1章1.2節)で作成したコードを基盤として、ユーザーが「長さ」または「重量」のどちらの変換を行いたいかを判定する機能を追加します。input()関数関数は一定の処理をまとめたプログラムの塊です。でユーザーから変換種別を取得し、ifif文はプログラムで条件分岐を行うための命令文です。文とelif文を使用した条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。で処理を分けることで、1つのプログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。で複数の変換機能を提供できるようになります。
条件分岐では「長さ」と入力された場合は長さ変換処理を実行し、「重量」と入力された場合は重量変換処理を実行します。どちらでもない場合はelse文を使用してエラーメッセージを表示し、適切な入力を促すことでプログラムの使いやすさを向上させます。
以下のプログラムは、変換種別の判定機能を含む基本的な単位変換ツールです。if文で「長さ」の判定を行い、elif文で「重量」の判定を行い、else文で無効な入力の処理を行う構造になっています。
# コード
print("単位変換ツール")
conversion_type = input("変換種別を入力してください(長さ/重量): ")
if conversion_type == "長さ":
print("長さ変換を実行します")
meter_value = input("メートル値を入力してください: ")
meter_float = float(meter_value)
if meter_float > 0:
cm_factor = 100
cm_result = meter_float * cm_factor
print(meter_value + "メートルは" + str(cm_result) + "センチメートルです")
else:
print("正の値を入力してください")
elif conversion_type == "重量":
print("重量変換を実行します")
kilogram_value = input("キログラム値を入力してください: ")
kilogram_float = float(kilogram_value)
if kilogram_float > 0:
gram_factor = 1000
gram_result = kilogram_float * gram_factor
print(kilogram_value + "キログラムは" + str(gram_result) + "グラムです")
else:
print("正の値を入力してください")
else:
print("無効な入力です。「長さ」または「重量」を入力してください")
# 実行結果
単位変換ツール
変換種別を入力してください(長さ/重量): 長さ
長さ変換を実行します
メートル値を入力してください: 1.5
1.5メートルは150.0センチメートルです
行数 | コード | 解説 |
---|---|---|
1行目 | print("単位変換ツール") |
プログラムの開始を示すタイトルメッセージを表示する |
2行目 | conversion_type = input("変換種別を入力してください(長さ/重量): ") |
ユーザーから変換種別の入力を受け取り、文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。として変数変数はデータを一時的に記憶しておく場所です。に代入代入は変数に値を割り当てる操作です。する |
3行目 | if conversion_type == "長さ": |
比較演算子比較演算子は二つの値を比較する際に使用する記号です。(==)を使用して入力値が「長さ」と等しいかを判定する |
4行目 | print("長さ変換を実行します") |
長さ変換処理の開始を示すメッセージを表示する |
5行目 | meter_value = input("メートル値を入力してください: ") |
ユーザーからメートル値の入力を受け取り、文字列として変数に代入する |
6行目 | meter_float = float(meter_value) |
文字列として受け取った入力値を浮動小数点数浮動小数点数は実数を表現するための数値表現方式で、仮数部と指数部に分けて表現し、非常に大きな数や小さな数を効率的に扱えます。に型変換型変換はデータの型を変換することです。する |
7行目 | if meter_float > 0: |
ネストした条件分岐で入力値が正の値であるかを判定する |
8行目 | cm_factor = 100 |
メートルからセンチメートルへの変換係数(100)を変数に代入する |
9行目 | cm_result = meter_float * cm_factor |
算術演算子算術演算子は数値の計算を行うための記号や命令です。(*)を使用してメートル値に変換係数を乗算し、センチメートル値を算出する |
10行目 | print(meter_value + "メートルは" + str(cm_result) + "センチメートルです") |
文字列連結で入力値と変換結果を組み合わせた結果メッセージを表示する |
11行目 | else: |
メートル値が0以下の場合の処理分岐を示すelse文 |
12行目 | print("正の値を入力してください") |
異常値が入力された場合のエラーメッセージを表示する |
13行目 | elif conversion_type == "重量": |
比較演算子(==)を使用して入力値が「重量」と等しいかを判定する |
14行目 | print("重量変換を実行します") |
重量変換処理の開始を示すメッセージを表示する |
15行目 | kilogram_value = input("キログラム値を入力してください: ") |
ユーザーからキログラム値の入力を受け取り、文字列として変数に代入する |
16行目 | kilogram_float = float(kilogram_value) |
文字列として受け取った入力値を浮動小数点数に型変換する |
17行目 | if kilogram_float > 0: |
ネストした条件分岐で入力値が正の値であるかを判定する |
18行目 | gram_factor = 1000 |
キログラムからグラムへの変換係数(1000)を変数に代入する |
19行目 | gram_result = kilogram_float * gram_factor |
算術演算子(*)を使用してキログラム値に変換係数を乗算し、グラム値を算出する |
20行目 | print(kilogram_value + "キログラムは" + str(gram_result) + "グラムです") |
文字列連結で入力値と変換結果を組み合わせた結果メッセージを表示する |
21行目 | else: |
キログラム値が0以下の場合の処理分岐を示すelse文 |
22行目 | print("正の値を入力してください") |
異常値が入力された場合のエラーメッセージを表示する |
23行目 | else: |
変換種別が「長さ」でも「重量」でもない場合の処理分岐を示すelse文 |
24行目 | print("無効な入力です。「長さ」または「重量」を入力してください") |
無効な変換種別が入力された場合のエラーメッセージを表示する |
- 条件分岐(if文):Pythonマスター講座 第3章3.2節Pythonマスター講座第3章 3.2節では、Pythonの条件分岐に関する内容を学べますで解説
- 比較演算子:Pythonマスター講座 第2章2.4節Pythonマスター講座第2章 2.4節では、Pythonの演算子に関する内容を学べますで解説
- 算術演算子:Pythonマスター講座 第2章2.4節で解説