Pythonを使って計算機を生成した

### この記事において、Pythonを使って四則演算ができる計算機をどのように生成するかを紹介したい。
![Screenshot 2024-06-10 at 18.02.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/a099fd1b-1b83-a4da-25e7-7e8d434a6d51.png)

## 四則演算をdef関数を使って、まず定義する。

### 足し算をするためのプログラムコード
```py
def add (n1, n2):
  return n1 + n2
```
### 引き算をするためのプログラムコード
```py
def subtract (n1, n2):
  return n1 - n2
```
### 掛け算をするためのプログラムコード
```py
def multiply (n1, n2):
  return n1 * n2
```
### 割り算をするためのプログラムコード
```py
def divide (n1, n2):
  return n1 / n2
```
### 階乗をするためのプログラムコード
```py
def sqrt (n1, n2):
  return n1 ** n2
```

## Operationsの辞書
![Screenshot 2024-06-10 at 18.07.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/aff3554c-3ed7-a960-4f93-4d93681f9297.png)

operations は辞書で、キーとして演算子を持ち、値としてそれぞれの演算を行う関数 (add, subtract, divide, multiply, sqrt) を持っています。例えば、"+" キーは add 関数に対応しています。

## Calculator関数
![Screenshot 2024-06-10 at 18.08.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/3497b71d-6a73-ea4e-5440-fad6339d06cb.png)

Calculator関数は、ユーザーから数値と演算子を入力させて計算を行い、結果を表示する機能を持っています。まず、logoという変数は、定義していないが、プログラムのロゴを表示するために使用した。

#### 初回の数値入力
num1 = float(input("What's the first number?:")) でユーザーに最初の数値を入力させ、その値を num1 に格納します。

#### 利用可能な演算子の表示
for symbol in operations: print (symbol) で、利用可能なすべての演算子を表示します。

#### 計算ループ
should_continue フラグを使って計算を続けるかどうかを管理します。
operation_symbol = input("Pick an operation from the line above:") で演算子を入力させます。
num2 = float(input("What's the next number?:")) で次の数値を入力させます。
calculation_function = operations[operation_symbol] で選択された演算子に対応する関数を取得します。
answer = calculation_function(num1, num2) で計算を行います。
print(f"{num1}{operation_symbol}{num2} = {answer}") で計算結果を表示します。

#### __name__ == "__main__" ブロック
![Screenshot 2024-06-10 at 18.11.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/7926954d-56f8-9d21-18c5-91e0354e7cdb.png)

以上のコードは、スクリプトが実際に実行された際に、"calculator"関数を呼び出すためのものです。


わかりやすくするために、プログラムコードの画像を添付しておく。
![Screenshot 2024-06-10 at 18.15.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/a326794d-c494-55ec-82b1-0a7b7487438e.png)
![Screenshot 2024-06-10 at 18.15.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/5ba12e16-8e29-5c0b-5bb9-d2daa3133e5a.png)

このプログラムコードを使ったら、四則演算ができる。

例えば、12 + 7 を計算してみよう。結果は、19になる。
以下の写真では、ちゃんと結果が、19になっている。
![Screenshot 2024-06-10 at 18.57.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/21c9683a-10cf-3ffa-2892-b932d4b5ff83.png)

そして、nと入力したら、この画面が表示される。つまり、この場合は、ユーザーは、　12+7の計算のみで計算機の使用をやめたという意味になる。
![Screenshot 2024-06-10 at 18.58.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/776de6d5-94e3-88f8-ff93-f0898ba0bab5.png)

しかし、19でまだ計算したい場合、yと入力したらさらに計算できる。

そこで、今回は、19を7で割ってみよう。結果は、2.7142857142857144になる。
以下の写真では、ちゃんと結果が、2.7142857142857144になっている。
![Screenshot 2024-06-10 at 19.02.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/c74b586e-b1e7-7b09-5841-ee57da9ef401.png)

そして、ここで計算を辞めたい場合は、nと入力したらこの画面が表示される。
![Screenshot 2024-06-10 at 19.02.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518583/8c5b90bc-591e-50a1-0e02-270d5abea651.png)

皆さんもこのプログラムコードを参考にし、四則演算ができる計算機を生成したら、
いかがでしょうか。

注）このプログラムコードを書くにあたって、このリンクを参考にしました。
https://medium.com/@m.franfuentes/day10-100daysofcode-in-python-7d1fcec93616#d430