ログアウト中 ログイン

学習パッケージを選択

【Python】計算プログラム(電卓)開発講座 第2章2.2節「計算結果の表示改良」




現在の見出し:2.2節:計算結果の表示改良

見出し一覧

  • 2.2節:計算結果の表示改良
  • - 計算式表示の実装
  • - 結果フォーマットの改良

【PR】『Python』を学べる企業・個人向けのプログラミングコース

計算式表示の実装

前節(第2章 2.1節)で作成したコードを基盤として、計算式表示機能を実装していきます。

前節では条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。による演算処理を実装し、選択された演算子演算子は数値や文字列などのデータを扱う際に使用される記号や記述方法です。に応じて計算結果のみを表示していました。実際の電卓アプリでは、ユーザーが入力した計算式を明確に表示することによって、「何を計算しているか」を視覚的に確認できる機能が必要になります。計算式表示機能では、数値と演算子を組み合わせた計算式を作成し、結果と合わせて表示する処理を実装します。

計算式表示の実装では、f-stringを使用して「{num1} {operator} {num2}」の形式で計算式を構築します。この処理を各条件分岐内で実行することによって、加算、減算、乗算、除算のすべての演算で統一された計算式表示を実現できます。計算式を変数変数はデータを一時的に記憶しておく場所です。に保存してから結果と合わせて表示することで、ユーザーは計算の内容と結果を同時に確認できるようになります。

この実装により、電卓アプリの使いやすさが大幅に向上し、計算内容の確認が容易になることによって、ユーザーの入力ミスを防ぐ効果も期待できます。

# コード
print("電卓アプリ")
print("2つの数値を入力してください")
# 最初の数値を入力
num1 = float(input("最初の数値を入力してください: "))
# 2番目の数値を入力
num2 = float(input("2番目の数値を入力してください: "))
# 演算子を入力
operator = input("演算子を入力してください(+, -, *, /): ").strip()
# 条件分岐による演算処理
if operator == "+":
    result = num1 + num2
    formula = f"{num1} {operator} {num2}"
    print(f"計算式: {formula}")
    print(f"計算結果: {result}")
elif operator == "-":
    result = num1 - num2
    formula = f"{num1} {operator} {num2}"
    print(f"計算式: {formula}")
    print(f"計算結果: {result}")
elif operator == "*":
    result = num1 * num2
    formula = f"{num1} {operator} {num2}"
    print(f"計算式: {formula}")
    print(f"計算結果: {result}")
elif operator == "/":
    if num2 != 0:
        result = num1 / num2
        formula = f"{num1} {operator} {num2}"
        print(f"計算式: {formula}")
        print(f"計算結果: {result}")
    else:
        print("エラー: ゼロで割ることはできません")
else:
    print("エラー: 無効な演算子です")
# 実行結果
電卓アプリ
2つの数値を入力してください
最初の数値を入力してください: 15
2番目の数値を入力してください: 3
演算子を入力してください(+, -, *, /): *
計算式: 15.0 * 3.0
計算結果: 45.0
行数 コード 解説
1行目 print("電卓アプリ") アプリケーションのタイトルを表示する
2行目 print("2つの数値を入力してください") ユーザーに数値入力を促すメッセージを表示する
3行目 num1 = float(input("最初の数値を入力してください: ")) ユーザーから最初の数値を文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。で取得し、float()で浮動小数点数浮動小数点数は実数を表現するための数値表現方式で、仮数部と指数部に分けて表現し、非常に大きな数や小さな数を効率的に扱えます。に変換してnum1変数に代入代入は変数に値を割り当てる操作です。する
4行目 num2 = float(input("2番目の数値を入力してください: ")) ユーザーから2番目の数値を文字列で取得し、float()で浮動小数点数に変換してnum2変数に代入する
5行目 operator = input("演算子を入力してください(+, -, *, /): ").strip() ユーザーから演算子を文字列で取得し、strip()メソッドメソッドは特定の処理をまとめたプログラムの塊です。で前後の空白を除去してoperator変数に代入する
6行目 if operator == "+": if文を使用してoperator変数の値が「+」と等しいかを比較演算子比較演算子は二つの値を比較する際に使用する記号です。で判定する
7行目 result = num1 + num2 加算演算子を使用してnum1とnum2を足し合わせ、結果をresult変数に代入する
8行目 formula = f"{num1} {operator} {num2}" f-stringを使用してnum1、operator、num2を組み合わせた計算式を作成し、formula変数に代入する
9行目 print(f"計算式: {formula}") f-stringを使用してformula変数の値を表示する
10行目 print(f"計算結果: {result}") f-stringを使用してresult変数の値を表示する
11行目 elif operator == "-": elif文を使用してoperator変数の値が「-」と等しいかを判定する
12行目 result = num1 - num2 減算演算子を使用してnum1からnum2を引き、結果をresult変数に代入する
13行目 formula = f"{num1} {operator} {num2}" f-stringを使用してnum1、operator、num2を組み合わせた減算の計算式を作成し、formula変数に代入する
14行目 print(f"計算式: {formula}") f-stringを使用して減算の計算式を表示する
15行目 print(f"計算結果: {result}") f-stringを使用して減算の結果を表示する
16行目 elif operator == "*": elif文を使用してoperator変数の値が「*」と等しいかを判定する
17行目 result = num1 * num2 乗算演算子を使用してnum1とnum2を掛け合わせ、結果をresult変数に代入する
18行目 formula = f"{num1} {operator} {num2}" f-stringを使用してnum1、operator、num2を組み合わせた乗算の計算式を作成し、formula変数に代入する
19行目 print(f"計算式: {formula}") f-stringを使用して乗算の計算式を表示する
20行目 print(f"計算結果: {result}") f-stringを使用して乗算の結果を表示する
21行目 elif operator == "/": elif文を使用してoperator変数の値が「/」と等しいかを判定する
22行目 if num2 != 0: if文を使用してnum2が0でないかを不等価演算子で判定する
23行目 result = num1 / num2 除算演算子を使用してnum1をnum2で割り、結果をresult変数に代入する
24行目 formula = f"{num1} {operator} {num2}" f-stringを使用してnum1、operator、num2を組み合わせた除算の計算式を作成し、formula変数に代入する
25行目 print(f"計算式: {formula}") f-stringを使用して除算の計算式を表示する
26行目 print(f"計算結果: {result}") f-stringを使用して除算の結果を表示する
27行目 else: num2が0の場合の処理を定義するelse文
28行目 print("エラー: ゼロで割ることはできません") ゼロ除算ゼロ除算は数をゼロで割る操作を指し、数学的に定義されておらず、多くのプログラミング言語でエラーや例外を引き起こします。エラーのメッセージを表示する
29行目 else: 無効な演算子が入力された場合の処理を定義するelse文
30行目 print("エラー: 無効な演算子です") 無効な演算子エラーのメッセージを表示する
結果フォーマットの改良

第2章2.2節「結果フォーマットの改良」の続きを見る


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

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