ログアウト中 ログイン

学習パッケージを選択

【Python】単位変換ツール開発講座 第3章3.1節「温度変換機能の追加」




現在の見出し: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種類の有効な変換種別を表示
変換処理の改良

第3章3.1節「変換処理の改良」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。