ゼロからプログラマーになるために!【簡単なプロジェクト編:7-1】電卓アプリケーションの作成

program

電卓アプリケーションは、プログラミングの基礎を実践するのに最適なプロジェクトです。この章では、Pythonを使って簡単な電卓アプリケーションを作成する方法を解説します。基本的な構造から、機能を少しずつ追加していく手順を学びましょう。


電卓アプリケーションの概要

作成するアプリケーションの機能

  1. ユーザーが数値を入力。
  2. 計算する演算子(+, -, *, /)を選択。
  3. 結果を出力。
  4. エラーハンドリング(ゼロ除算や無効な入力への対応)。

ステップ1:基本構造の作成

1. プログラムの流れ

1. ユーザーが2つの数値を入力。
2. ユーザーが演算子を選択。
3. 計算を実行。
4. 結果を表示。

2. 基本コードの作成

# 基本的な電卓アプリケーション
def calculator():
print("電卓アプリケーションへようこそ!")

# 数値の入力
num1 = float(input("1つ目の数値を入力してください: "))
operator = input("演算子を入力してください (+, -, *, /): ")
num2 = float(input("2つ目の数値を入力してください: "))

# 計算処理
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
result = num1 / num2
else:
print("無効な演算子です。")
return

# 結果を表示
print(f"計算結果: {result}")

# プログラムの実行
calculator()

詳しいコードの説明はこちら

ステップ2:エラーハンドリングの追加

無効な入力の処理

  • ゼロ除算の防止ZeroDivisionError を防ぐ。
  • 数値以外の入力エラーValueError をキャッチ。

改良版コード

def calculator():
print("電卓アプリケーションへようこそ!")

try:
# 数値の入力
num1 = float(input("1つ目の数値を入力してください: "))
operator = input("演算子を入力してください (+, -, *, /): ")
num2 = float(input("2つ目の数値を入力してください: "))

# 計算処理
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 == 0:
raise ZeroDivisionError("0で割ることはできません。")
result = num1 / num2
else:
print("無効な演算子です。")
return

# 結果を表示
print(f"計算結果: {result}")
except ValueError:
print("無効な入力です。数値を入力してください。")
except ZeroDivisionError as e:
print(e)

# プログラムの実行
calculator()

ステップ3:機能の拡張

1. 繰り返し計算機能

改良コード

def calculator():
print("電卓アプリケーションへようこそ!")

while True:
try:
# 数値の入力
num1 = float(input("1つ目の数値を入力してください: "))
operator = input("演算子を入力してください (+, -, *, /): ")
num2 = float(input("2つ目の数値を入力してください: "))

# 計算処理
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 == 0:
raise ZeroDivisionError("0で割ることはできません。")
result = num1 / num2
else:
print("無効な演算子です。")
continue

# 結果を表示
print(f"計算結果: {result}")
except ValueError:
print("無効な入力です。数値を入力してください。")
except ZeroDivisionError as e:
print(e)

# 継続確認
cont = input("続けて計算しますか? (y/n): ")
if cont.lower() != "y":
print("電卓アプリケーションを終了します。")
break

# プログラムの実行
calculator()

2. トリゴノメトリ(sin, cos, tan)の追加

改良コード

import math

def calculator():
print("拡張電卓アプリケーションへようこそ!")

while True:
try:
print("1. 四則演算 (+, -, *, /)")
print("2. トリゴノメトリ関数 (sin, cos, tan)")
choice = input("操作を選んでください (1 または 2): ")

if choice == "1":
num1 = float(input("1つ目の数値を入力してください: "))
operator = input("演算子を入力してください (+, -, *, /): ")
num2 = float(input("2つ目の数値を入力してください: "))

if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 == 0:
raise ZeroDivisionError("0で割ることはできません。")
result = num1 / num2
else:
print("無効な演算子です。")
continue

elif choice == "2":
trig_function = input("関数を選択してください (sin, cos, tan): ")
angle = float(input("角度を入力してください(度単位): "))
radians = math.radians(angle)

if trig_function == "sin":
result = math.sin(radians)
elif trig_function == "cos":
result = math.cos(radians)
elif trig_function == "tan":
result = math.tan(radians)
else:
print("無効な関数です。")
continue
else:
print("無効な選択です。")
continue

print(f"計算結果: {result}")
except ValueError:
print("無効な入力です。数値を入力してください。")
except ZeroDivisionError as e:
print(e)

cont = input("続けて計算しますか? (y/n): ")
if cont.lower() != "y":
print("電卓アプリケーションを終了します。")
break

calculator()

図解:電卓アプリケーションの流れ

1. 数値の入力

2. 操作の選択(四則演算 または トリゴノメトリ)

3. 計算結果の表示

4. 継続確認(y/n)

まとめ

  • 基本機能:四則演算の実装を通じて、基本的な計算ロジックを学べました。
  • エラーハンドリング:無効な入力やゼロ除算など、エラー処理の方法を学びました。
  • 機能拡張:繰り返し計算機能やトリゴノメトリ関数を追加することで、アプリケーションの幅を広げました。

電卓アプリケーションの作成を通じて、プログラミングの基本構造を学ぶことができました。次回は、もう少し複雑なプロジェクトに挑戦してみましょう!


次のステップ:簡単なテキストベースゲーム

次回は、シンプルなテキストベースゲームを作成します。ランダム要素を取り入れることで、さらに楽しいプログラムを構築する方法を学びます。お楽しみに!

コメント

タイトルとURLをコピーしました
//投稿内コードにコピー表示 //コピー表示ここまで