Python入門! input関数の極意 応用テクニック大全まで徹底解説!

2025.10.29
カテゴリー:オフショア開発,開発

 

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へご相談ください。企画から開発、運用まで、お客様のニーズに合わせた最適な開発をサポートいたします。