Pythonでは、ユーザーからの入力を受け取るためのinput()関数を提供しています。これにより、プログラム実行中にユーザーからデータを取得し、それに基づいて処理を行うことができます。以下に、基本的な使い方や応用例を紹介します。
※初心者向けの13冊のPython独学書
1. 基本的な使い方
input()関数を使用してユーザーからの入力を受け取る基本的な方法は以下の通りです:
# ユーザーに入力を求める
name = input("あなたの名前を入力してください: ")
# 入力された内容を表示する
print("こんにちは、" + name + "さん!")
この例では、ユーザーに名前の入力を求め、入力された名前を使って挨拶を表示します。
2. 数値の入力
input()関数は常に文字列を返します。数値を入力させたい場合は、int()やfloat()関数を使って文字列を数値に変換する必要があります。
# 整数の入力を求める
age = int(input("あなたの年齢を入力してください: "))
# 入力された年齢を使って処理を行う
print("あなたは " + str(age) + " 歳です。")
# 浮動小数点数の入力を求める
height = float(input("あなたの身長を入力してください(メートル): "))
# 入力された身長を使って処理を行う
print("あなたの身長は " + str(height) + " メートルです。")
3. 例外処理
ユーザーが数値を入力する際に、無効な入力(文字列など)を入力した場合にエラーが発生することがあります。これを防ぐために、try...exceptブロックを使って例外処理を行います。
try:
age = int(input("あなたの年齢を入力してください: "))
print("あなたは " + str(age) + " 歳です。")
except ValueError:
print("有効な年齢を入力してください。")
4. 複数の入力を一度に取得
一度に複数の入力を取得したい場合、split()メソッドを使って、ユーザー入力を分割することができます。
# 複数の入力を一度に取得
data = input("名前と年齢をカンマで区切って入力してください(例:太郎,20): ")
# 入力を分割
name, age = data.split(',')
# 年齢を整数に変換
age = int(age)
print("こんにちは、" + name + "さん! あなたは " + str(age) + " 歳です。")
5. 高度な入力処理
複雑な入力処理が必要な場合、ループや追加のエラーチェックを使用して、ユーザーからの正しい入力を確保することができます。
while True:
try:
age = int(input("あなたの年齢を入力してください: "))
if age < 0:
raise ValueError("年齢は正の数でなければなりません。")
break
except ValueError as ve:
print("エラー:", ve)
print("もう一度試してください。")
print("あなたは " + str(age) + " 歳です。")
この例では、ユーザーが正しい年齢を入力するまで繰り返し入力を求めます。負の数が入力された場合にも適切にエラーメッセージを表示します。
まとめ
Pythonのinput()関数を使用すると、ユーザーからの入力を簡単に受け取ることができます。入力されたデータを適切に処理するためには、文字列から数値への変換や例外処理を組み合わせることが重要です。これにより、ユーザーインタラクションを含むプログラムをより堅牢にすることができます。
