
Pythonでは、ユーザーの入力を受け取って処理に反映する「対話型プログラム」を作る機会が非常に多くあります。そんなとき、欠かせないのが input() 関数です。例えば、名前や年齢、選択肢、計算に使う数字などを入力してもらうことで、プログラムに対話性が加わり、実用性がぐっと高まります。
この記事では、Pythonの input() 関数について、基本的な使い方から、数値への変換、複数行の入力、よくあるエラーとその対策、さらには実用的なコード例まで、実践に役立つ情報を詳しく解説していきます。Python初心者はもちろん、再学習したい方もぜひ参考にしてください。
目次
input関数とは

input()関数は、Pythonに標準で備わっている組み込み関数です。ユーザーからの入力を1行分受け取り、それを文字列型(str)として返します。基本的な構文は以下の通りです。
name = input(“あなたの名前は?:”)
print(“こんにちは、” + name + “さん!”)
この例では、name変数にユーザーが入力した名前が格納され、それを使ってあいさつを表示します。
特徴:
- 常に 文字列(str) として値が返ってくる
- ユーザーが入力を完了するまでプログラムの実行が停止
- 数値やリストとして使うには型変換が必要
例えば、ゲームでプレイヤー名を入力したり、アンケートで趣味を聞いたりするような、インタラクティブなアプリケーションの基礎になります。
input関数の基本的な使い方

ユーザーへのメッセージを表示する
引数に文字列を渡すと、それがプロンプトとして画面に表示されます。
value = input(“値を入力してください:”)
print(“入力された値:”, value)
プロンプトがあることで、ユーザーは何を入力すべきかが明確になります。この「ガイドとしての役割」は、初心者にやさしいUIを作るうえでとても重要です。
数値や他のデータ型に変換して使う方法

input() の戻り値は常に文字列です。しかし実務では、年齢、金額、数量などを「数値」として扱う場面がよくあります。
nt() / float() で型変換
age = int(input(‘年齢を入力してください: ‘))
print(f’来年は {age + 1} 歳になりますね!’)
数値の計算には必ず整数(int)や浮動小数点数(float)への変換が必要です。
例外処理で安全に型変換
def try_int(prompt: str, default: int = 0) -> int:
try:
return int(input(prompt))
except ValueError:
print(‘数値を入力してください!’)
return default
age = try_int(‘年齢を入力してください(整数):’)
ユーザーが誤って「abc」などの文字列を入力したときでも、try-except ブロックを使えばプログラムの強制終了を防げます。これは「ユーザーにやさしいプログラム」の第一歩です。
複数の値・複数行を入力するテクニック

カンマ区切りで複数値を取得
例えば、x, y, z の3つの数値を一度に入力したい場合:
x, y, z = input(‘x, y, z をカンマ区切りで入力してください: ‘).split(‘,’)
print(f’x: {x}, y: {y}, z: {z}’)
このように split(‘,’) を使えば、カンマごとに値を分割して、複数の変数に代入できます。
数値として扱いたい場合
values = list(map(int, input(‘3つの数値をカンマ区切りで入力してください: ‘).split(‘,’)))
print(‘合計:’, sum(values))
このように map() と int() を組み合わせることで、すぐに数値のリストを得られます。
空行で終了する複数行の入力
print(‘好きなフルーツを1行ずつ入力してください(空行で終了):’)
fruits = []
while True:
line = input()
if line == ”:
break
fruits.append(line)
print(‘入力されたフルーツ一覧:’)
print(‘\n’.join(fruits))
このような実装で、簡易的なメモ帳やTODOリストのような入力フォームも作成可能です。
応用:input() を使った実用的なコード例

四則演算ができる簡易電卓
x = float(input(“1つ目の数値:”))
y = float(input(“2つ目の数値:”))
operator = input(“演算子(+ – * /):”)
if operator == “+”:
print(“結果:”, x + y)
elif operator == “-“:
print(“結果:”, x – y)
elif operator == “*”:
print(“結果:”, x * y)
elif operator == “/”:
if y != 0:
print(“結果:”, x / y)
else:
print(“エラー:0で割ることはできません”)
else:
print(“不正な演算子です”)
簡単ながらも input() を使って対話的に操作できる例です。
プロフィール登録チャットボット
name = input(“こんにちは!お名前は?:”)
age = input(f”{name}さん、年齢は?:”)
hobby = input(f”{name}さんの趣味は?:”)
print(f”— プロフィール登録完了 —“)
print(f”お名前:{name}\n年齢:{age}\n趣味:{hobby}”)
このように、少しのコードで簡単なアプリ風の処理も作れます。
よくあるエラーと対策

ValueError: 数値変換に失敗
文字列を数値に変換しようとしたときに、変換できない文字列が渡されると発生します。
try:
number = int(input(“整数を入力してください:”))
print(“入力された数値:”, number)
except ValueError:
print(“エラー:整数を入力してください。”)
対処法: try-except を使って安全に処理しましょう。
EOFError: 入力が存在しないとき
例えば、ファイル実行などで input() に値が渡されなかった場合に発生します。
try:
data = input(“入力してください:”)
except EOFError:
print(“入力がありませんでした”)
input()関数を使いこなすためのポイント

まとめチェックリスト
- input()は常に文字列で値を返す
- 数値などで使うには明示的な型変換が必要
- 複数行を扱うにはループ処理と組み合わせる
- エラーハンドリングにはtry-exceptで対処
- split()やmap()と併用すれば効率よくデータ取得が可能
初心者のうちは、input()を使ったミニツール(プロフィール作成、簡易計算機、質問ボットなど)をいくつも試してみるのが上達の近道です。慣れてきたらGUIアプリケーションやWebアプリでも同様の入力処理が役立ちます。
まとめ
input() 関数は、Pythonの入口ともいえる存在です。この関数を使いこなせるようになると、プログラムに「動的な要素」が加わり、格段に面白さや実用性がアップします。このガイドを参考に、基本から応用まで幅広く使いこなして、あなた自身のPythonアプリケーションに活かしてみてください。
弊社では、データ入力・処理の効率化、自動化ツール、対話型アプリケーションなど、お客様のビジネス課題を解決するPythonソリューションをご提案いたします。
- 「こんなこと、Pythonでできる?」
- 「既存システムのPython化を検討している」
- 「業務効率を上げるツールを開発したい」
といったご要望がございましたら、ぜひお気軽に3inkへご相談ください。企画から開発、運用まで、お客様のニーズに合わせた最適な開発をサポートいたします。
