現在の見出し:3.1節:温度変換機能の追加
見出し一覧
- 3.1節:温度変換機能の追加
- - 温度変換処理の実装
- - 変換処理の改良
【PR】『Python』を学べる企業・個人向けのプログラミングコース
温度変換処理の実装
第3章3.1節では、前節(第2章2.2節)で作成したコードを基盤として、温度変換機能を追加します。
温度変換では摂氏と華氏間の相互変換を実装し、これまでの長さ変換と重量変換に加え、第3種目の変換機能を提供します。摂氏から華氏への変換式は「華氏 = 摂氏 × 9/5 + 32」、華氏から摂氏への変換式は「摂氏 = (華氏 - 32) × 5/9」を使用して、正確な温度変換を実行できるようにします。
ifif文はプログラムで条件分岐を行うための命令文です。文とelif文による条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。を使用して、長さ変換、重量変換、温度変換の3つの処理を統合し、単一のプログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。で完全な単位変換機能を実現します。条件分岐による統合処理では、各変換種別に対応した処理を整理し、共通の出力形式で結果を表示することで、ユーザーにとって使いやすい統合変換ツールになります。
# コード
print("完全統合単位変換ツール")
print("対応変換種別: 長さ、重量、温度")
conversion_type = input("変換種別を入力してください(長さ/重量/温度): ")
cleaned_type = conversion_type.strip()
if cleaned_type == "長さ":
print(f"【{cleaned_type}変換】メートル → センチメートル")
meter_value = input("メートル値を入力してください: ")
meter_float = float(meter_value)
if meter_float > 0:
cm_factor = 100.0
cm_result = meter_float * cm_factor
print(f"変換結果: {meter_float:.2f}メートル = {cm_result:.2f}センチメートル")
print(f"計算詳細: {meter_float:.2f} × {cm_factor:.1f} = {cm_result:.2f}")
else:
print("エラー: 正の値を入力してください")
elif cleaned_type == "重量":
print(f"【{cleaned_type}変換】キログラム → グラム")
kilogram_value = input("キログラム値を入力してください: ")
kilogram_float = float(kilogram_value)
if kilogram_float > 0:
gram_factor = 1000.0
gram_result = kilogram_float * gram_factor
print(f"変換結果: {kilogram_float:.2f}キログラム = {gram_result:.1f}グラム")
print(f"計算詳細: {kilogram_float:.2f} × {gram_factor:.1f} = {gram_result:.1f}")
else:
print("エラー: 正の値を入力してください")
elif cleaned_type == "温度":
print(f"【{cleaned_type}変換】摂氏 → 華氏")
celsius_value = input("摂氏温度を入力してください: ")
celsius_float = float(celsius_value)
fahrenheit_factor1 = 9 / 5
fahrenheit_factor2 = 32
fahrenheit_result = celsius_float * fahrenheit_factor1 + fahrenheit_factor2
print(f"変換結果: {celsius_float}℃ = {fahrenheit_result:.1f}℉")
print(f"計算詳細: {celsius_float} × {fahrenheit_factor1:.1f} + {fahrenheit_factor2} = {fahrenheit_result:.1f}")
else:
print(f"エラー: 無効な変換種別「{cleaned_type}」が入力されました")
print("対応変換種別: 長さ、重量、温度")
# 実行結果
完全統合単位変換ツール
対応変換種別: 長さ、重量、温度
変換種別を入力してください(長さ/重量/温度): 温度
【温度変換】摂氏 → 華氏
摂氏温度を入力してください: 25
変換結果: 25.0℃ = 77.0℉
計算詳細: 25.0 × 1.8 + 32 = 77.0
行数 | 種別 | コード | 解説 |
---|---|---|---|
2行目 | 変更 | print("対応変換種別: 長さ、重量、温度") |
前節の「長さ、重量」に「温度」を追加し、3種類の変換種別に対応していることを表示 |
3行目 | 変更 | conversion_type = input("変換種別を入力してください(長さ/重量/温度): ") |
前節の入力プロンプトに「/温度」を追加し、温度変換も選択可能であることを明示 |
26行目 | 新規 | elif cleaned_type == "温度": |
温度変換の条件分岐を新規追加し、ユーザーが「温度」を選択した場合の処理を開始 |
27行目 | 新規 | print(f"【{cleaned_type}変換】摂氏 → 華氏") |
温度変換の場合に変換方向を明示し、摂氏から華氏への変換であることを表示 |
28行目 | 新規 | celsius_value = input("摂氏温度を入力してください: ") |
摂氏温度の値をユーザーから入力として取得し、文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。型で受け取る |
29行目 | 新規 | celsius_float = float(celsius_value) |
入力された摂氏温度の文字列を浮動小数点数浮動小数点数は実数を表現するための数値表現方式で、仮数部と指数部に分けて表現し、非常に大きな数や小さな数を効率的に扱えます。型に変換し、計算処理で使用可能にする |
31行目 | 新規 | fahrenheit_factor1 = 9 / 5 |
摂氏から華氏への変換で使用する係数「9/5」を変数変数はデータを一時的に記憶しておく場所です。に代入代入は変数に値を割り当てる操作です。し、計算の可読性を向上 |
32行目 | 新規 | fahrenheit_factor2 = 32 |
摂氏から華氏への変換で使用する加算値「32」を変数に代入し、計算式を明確化 |
33行目 | 新規 | fahrenheit_result = celsius_float * fahrenheit_factor1 + fahrenheit_factor2 |
温度変換式「華氏 = 摂氏 × 9/5 + 32」を実行し、摂氏から華氏への変換結果を計算 |
34行目 | 新規 | print(f"変換結果: {celsius_float}℃ = {fahrenheit_result:.1f}℉") |
温度変換の結果を「℃」と「℉」の記号付きで表示し、華氏は小数点以下1桁まで表示 |
35行目 | 新規 | print(f"計算詳細: {celsius_float} × {fahrenheit_factor1:.1f} + {fahrenheit_factor2} = {fahrenheit_result:.1f}") |
温度変換の計算過程を詳細に表示し、変換係数と加算値を含めた計算式を明示 |
38行目 | 変更 | print("対応変換種別: 長さ、重量、温度") |
前節の「長さ、重量」に「温度」を追加し、エラー時に3種類の有効な変換種別を表示 |
- 条件分岐(if文):Pythonマスター講座 第3章3.2節Pythonマスター講座第3章 3.2節では、Pythonの条件分岐に関する内容を学べますで解説
- 文字列フォーマット「f-string」:Pythonマスター講座 第2章2.5節Pythonマスター講座第2章 2.5節では、Pythonの文字列操作に関する内容を学べますで解説
- 算術演算子算術演算子は数値の計算を行うための記号や命令です。:Pythonマスター講座 第2章2.4節Pythonマスター講座第2章 2.4節では、Pythonの演算子に関する内容を学べますで解説
- 変数と代入:Pythonマスター講座 第2章2.2節Pythonマスター講座第2章 2.2節では、Pythonの変数に関する内容を学べますで解説
- 数値型(浮動小数点数(float)):Pythonマスター講座 第2章2.3節Pythonマスター講座第2章 2.3節では、Pythonのデータ型に関する内容を学べますで解説