Python | input()

Python
スポンサーリンク

input() をやさしく、丁寧に、たっぷり例題付きで説明します。目的は「キーボードから値を読み取ってプログラムで使う」こと。まず基本、そのあとで実戦でよく使うパターン(数値に変換、複数入力、検証、ループ)を見ていきましょう。


基本 — これだけ覚えればOK

s = input()                     # プロンプトなしで入力を待つ
name = input("名前を入力してください: ")  # プロンプトを表示して入力を待つ
Python
  • input()ユーザーがタイプして Enter を押すまで待つ
  • 返ってくる値は 常に文字列(str。たとえば 123 と入力しても "123"(文字列)です。

例1:名前を入力して挨拶する(超基本)

name = input("あなたの名前は?: ")
print("こんにちは、" + name + "さん!")
Python

実行例:

あなたの名前は?: 太郎
こんにちは、太郎さん!

型変換 — 数値として使いたいとき

input() の戻り値は文字列なので、計算に使う場合は数値に変換します。

age_str = input("年齢を入力してください: ")
age = int(age_str)   # 整数に変換
print("10年後は", age + 10, "歳です。")
Python

注意:ユーザーが数字以外を入力すると int() はエラーになります。だから次で説明する「入力の検証」を入れます。


例2:安全に数値を入力させる(エラーチェック付き)

while True:
    s = input("整数を入力してください: ")
    try:
        n = int(s)
        break
    except ValueError:
        print("数字じゃないよ!もう一度入力してね。")
print("入力された整数は", n, "です。")
Python
  • try/except で変換失敗(ValueError)を捕まえ、再入力させます。

複数の値を一行で入力する(split を使う)

例:スペース区切りで 2 つの数を入力して足し算する。

a_str, b_str = input("2つの整数をスペースで区切って入力: ").split()
a = int(a_str)
b = int(b_str)
print("合計は", a + b)
Python

便利ですが、ユーザーが間違った数(1つしか入れてない等)を入れるとエラーになるので、実際は検証ループを入れると安心です。


例3:複数を安全に読み取る(検証付き)

while True:
    line = input("2つの整数をスペース区切りで入力してください: ")
    parts = line.split()
    if len(parts) != 2:
        print("2つ入力してね。")
        continue
    try:
        a = int(parts[0])
        b = int(parts[1])
        break
    except ValueError:
        print("整数だけを入力してください。")
print("a =", a, "b =", b, "合計 =", a + b)
Python

文字列の前後の空白を取りたいとき(strip)

ユーザーがスペースや改行を入れがちなときに使います。

s = input("好きな言葉を入力: ").strip()
Python

.strip() は先頭・末尾の空白(スペース、改行)を取り除きます。


応用:メニュー入力(選択肢を受け取る)

print("メニュー: 1)追加 2)表示 3)終了")
while True:
    choice = input("番号を入力してください: ").strip()
    if choice == "1":
        print("追加処理を実行します。")
    elif choice == "2":
        print("表示処理を実行します。")
    elif choice == "3":
        print("終了します。")
        break
    else:
        print("1〜3の数字を入力してください。")
Python

選択肢は文字列で比較するのが簡単("1""2")。


実践的なワザ・ヒント

  • プロンプトは親切に:「年齢」だけ書くより「年齢(整数)を入力してください:」と書くと親切。
  • バリデーション(検証)を入れる:入力は必ず正しいとは限らない。try/except や条件チェックで安全に。
  • 空白や大文字小文字の扱い:ユーザー入力を .strip().lower() / .upper() で正規化して扱うと比較が楽。
  • 複数行入力:複数行を一気に読み取りたい場合は、ループで input() を何回か呼ぶか、特定の終了文字(例:END)を決めてループを抜ける方法を使う。
  • 自動テストやバッチ処理input() は対話向け。自動で値を渡すときは標準入力(パイプ)やファイルを使うこともあります(上級)。

練習問題

  1. ユーザーから名前と年齢を入力させて、「太郎さんは25歳です。」のように表示するプログラムを書いてください(年齢は整数に変換して扱う)。
  2. ユーザーが入力した数(整数)が偶数か奇数かを判定するプログラムを書いてください。入力が数字でない場合は再入力を促すこと。
  3. スペース区切りで複数の単語を入力させ、各単語の長さを表示するプログラムを書いてください。

練習問題 解答例

name = input("名前: ").strip()
age = int(input("年齢: ").strip())
print(name + "さんは" + str(age) + "歳です。")
Python
while True:
    s = input("整数を入力: ").strip()
    try:
        n = int(s)
        break
    except ValueError:
        print("整数を入力してください。")
if n % 2 == 0:
    print("偶数です。")
else:
    print("奇数です。")
Python
line = input("単語をスペース区切りで入力: ").strip()
words = line.split()
for w in words:
    print(w, "の長さは", len(w), "文字です。")
Python

まとめ(ポイントだけ)

  • input() はユーザー入力を受け取り、文字列を返す。
  • 数値として使うなら int()float() で変換(→変換失敗に注意)。
  • .strip().split()try/except、ループを組み合わせると実用的で堅牢な入力処理ができる。
  • まずは「入力→処理→出力」の簡単な流れを何度も実行して慣れること!
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました