
はじめに
第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、℃↔℉)。
関数化して拡張しやすい作りを目指すで!