
はじめに
第6回では datetime
を使って現在の日時を表示したな。
今回はいよいよ実用感ある 四則演算電卓 を作るで!
ユーザーが2つの数と演算子(+ - * /
)を入力すると、結果を計算して表示するシンプルなアプリや。
完成イメージ
1つ目の数を入力してください:10 演算子を入力してください(+ - * /):* 2つ目の数を入力してください:3 結果: 30
ヒント(使う要素)
input()
:ユーザー入力float()
:小数にも対応if / elif / else
:演算子ごとの分岐- 例外対策:ゼロ除算(
/ 0
)や不正入力に注意
コード全文(基本版)
まずは最小構成で動く版からいくで!
まずは↑のヒントを見て自分で調べたりして考えてみよ!
# Lesson 7: 四則演算電卓(コンソール版) 基本版 a = float(input("1つ目の数を入力してください:")) op = input("演算子を入力してください(+ - * /):") b = float(input("2つ目の数を入力してください:")) if op == "+": result = a + b elif op == "-": result = a - b elif op == "*": result = a * b elif op == "/": if b == 0: print("エラー:0で割ることはできません。") exit() result = a / b else: print("エラー:演算子は + - * / のいずれかを入力してください。") exit() print("結果:", result)
もう一歩:エラーに強い改良版
不正な数値や演算子を入れても落ちへん、やさしい電卓にしてみよか。
# Lesson 7: 四則演算電卓(コンソール版) 改良版 def read_number(msg): while True: s = input(msg) try: return float(s) except ValueError: print("数値を入力してください。(例:12, 3.14, -5 など)") def read_operator(msg): while True: op = input(msg).strip() if op in ["+", "-", "*", "/"]: return op print("演算子は + - * / のいずれかを入力してください。") a = read_number("1つ目の数を入力してください:") op = read_operator("演算子を入力してください(+ - * /):") b = read_number("2つ目の数を入力してください:") if op == "/": if b == 0: print("エラー:0で割ることはできません。") exit() result = { "+": a + b, "-": a - b, "*": a * b, "/": a / b }[op] print("結果:", result)
実行方法
- VSCodeで新しいファイルを作成
- コードをコピペして
lesson7.py
として保存 - ターミナルで実行:
python lesson7.py
(動かへん場合は python3 lesson7.py
)
応用アイデア
- 続けて計算できる ループ機能(「続けますか? y/n」)
- 先に式を一行で入力する電卓(例:「
12 * 3
」)→split()
で分解 - 割り算の小数点以下の桁数指定(
round(result, 3)
など) - 履歴保存(
with open(...,"a")
でCSVやテキストへ追記)
まとめ
今回は コンソール版の四則演算電卓 を作って、
入力→分岐→計算→出力の基本フローをしっかり体験したで。
エラー処理を入れると、アプリがぐっと優しくて実用的になるのもポイントや!
👉 次回は Lesson 8: 単位変換アプリ(cm↔m、℃↔℉)。
関数化して拡張しやすい作りを目指すで!