Python | input()

Python
スポンサーリンク

ここでは、input() の応用として「電卓(複数入力対応)」をテーマに、
初心者にもわかりやすく段階的に作っていきます。


ステップ1:最もシンプルな電卓(2つの数の足し算)

# --- シンプル電卓(足し算だけ) ---
a = int(input("1つ目の数を入力してください: "))
b = int(input("2つ目の数を入力してください: "))
print("合計は", a + b, "です。")
Python

💬 実行例:

1つ目の数を入力してください: 10
2つ目の数を入力してください: 20
合計は 30 です。

ステップ2:1行で2つの数を入力(split)

input() + .split() を使うと、
「10 20」 のように1行で複数の数を入力できます。

# --- スペース区切り入力 ---
a_str, b_str = input("2つの数をスペースで区切って入力してください: ").split()
a = float(a_str)
b = float(b_str)
print("合計:", a + b)
Python

💬 実行例:

2つの数をスペースで区切って入力してください: 12.5 3.5
合計: 16.0

ステップ3:複数の数をいくつでも入力できるようにする!

split() で区切った文字列を map(float, ...) でまとめて数値化します。

# --- 複数入力対応電卓(合計) ---
nums_str = input("数をスペースで区切って入力してください: ").split()
nums = list(map(float, nums_str))   # 文字列 → 数値リスト
print("入力された数:", nums)
print("合計:", sum(nums))
Python

💬 実行例:

数をスペースで区切って入力してください: 10 20 30 40
入力された数: [10.0, 20.0, 30.0, 40.0]
合計: 100.0

ステップ4:計算方法を選べる「簡易メニュー電卓」

# --- 簡易メニュー付き電卓 ---
print("=== 電卓アプリ ===")

while True:
    print("\n操作を選んでください:")
    print("1) 足し算")
    print("2) 引き算")
    print("3) 掛け算")
    print("4) 割り算")
    print("5) 終了")

    choice = input("番号を入力 → ").strip()

    if choice == "5":
        print("🧾 終了します。ありがとうございました!")
        break

    nums_str = input("数をスペースで区切って入力してください: ").split()
    try:
        nums = list(map(float, nums_str))
    except ValueError:
        print("⚠ 数字だけを入力してください。")
        continue

    if not nums:
        print("⚠ 入力が空です。")
        continue

    if choice == "1":
        result = sum(nums)
        print("✅ 合計 =", result)

    elif choice == "2":
        result = nums[0]
        for n in nums[1:]:
            result -= n
        print("✅ 結果 =", result)

    elif choice == "3":
        result = 1
        for n in nums:
            result *= n
        print("✅ 結果 =", result)

    elif choice == "4":
        result = nums[0]
        try:
            for n in nums[1:]:
                result /= n
            print("✅ 結果 =", result)
        except ZeroDivisionError:
            print("⚠ 0 で割ることはできません。")

    else:
        print("⚠ 1〜5の数字を入力してください。")
Python

💬 実行例:

=== 電卓アプリ ===

操作を選んでください:
1) 足し算
2) 引き算
3) 掛け算
4) 割り算
5) 終了
番号を入力 → 3
数をスペースで区切って入力してください: 2 3 4
✅ 結果 = 24.0

解説ポイント

仕組み内容
input().split()スペース区切りで複数値を1行で入力できる
map(float, nums_str)各要素を float(小数)に変換
sum(nums)合計を計算
ループ+条件分岐メニューで動作を選択できるようにしている
try/except入力ミスやゼロ除算を防ぐ安全設計

発展アイデア

  • ファイルに計算履歴を保存する
  • 「前回の結果」を次の計算に使えるようにする(ans 変数)
  • eval() を使って「式(例:2+3*4)」を直接入力できる電卓に拡張
  • math モジュールを使って √, sin, cos, pow などの関数を追加
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました