プログラミングでユーザーからの入力を取得することは、対話型プログラムを作成するための基本スキルです。この章では、Pythonでユーザー入力を取得する方法を詳しく解説します。入力されたデータを使ってプログラムを動的に変更することで、より実用的なプログラムが作成できます。
ユーザー入力の基本
Pythonのinput()関数
Pythonでは、ユーザー入力を取得するために input()
関数を使用します。この関数は、ユーザーが入力した値を文字列(str) として返します。
基本構文
variable = input("プロンプトメッセージ:")
"プロンプトメッセージ"
:入力を促すメッセージを表示する文字列。variable
:ユーザーが入力した値を格納する変数。
例:簡単なユーザー入力
name = input("あなたの名前を入力してください:")
print(f"こんにちは、{name}さん!")
実行結果
あなたの名前を入力してください:太郎
こんにちは、太郎さん!
ユーザー入力のデータ型変換
入力データは文字列型(str)
input()
関数で取得したデータは、文字列型 になります。数値として扱いたい場合は、明示的にデータ型を変換する必要があります。
数値への変換
整数(int)への変換
age = input("あなたの年齢を入力してください:")
age = int(age) # 整数型に変換
print(f"あなたは {age} 歳です。")
実行結果
あなたの年齢を入力してください:25
あなたは 25 歳です。
浮動小数点数(float)への変換
weight = input("体重を入力してください(kg):")
weight = float(weight) # 浮動小数点数型に変換
print(f"あなたの体重は {weight}kg です。")
注意:無効な入力
数値型に変換する際、ユーザーが無効な入力(例:文字列)をするとエラーになります。
対処法:エラーハンドリング
try:
age = int(input("年齢を入力してください:"))
print(f"あなたは {age} 歳です。")
except ValueError:
print("無効な入力です。数値を入力してください。")
実践例
例1:簡易計算機
ユーザーから2つの数値を入力し、その合計を計算します。
num1 = float(input("1つ目の数値を入力してください:"))
num2 = float(input("2つ目の数値を入力してください:"))
result = num1 + num2
print(f"合計は {result} です。")
実行結果
1つ目の数値を入力してください:5
2つ目の数値を入力してください:3
合計は 8.0 です。
例2:簡単なログインシステム
# 登録済みのユーザー情報
registered_username = "admin"
registered_password = "1234"
# ユーザーから入力を取得
username = input("ユーザー名を入力してください:")
password = input("パスワードを入力してください:")
if username == registered_username and password == registered_password:
print("ログイン成功!")
else:
print("ユーザー名またはパスワードが間違っています。")
実行結果
ユーザー名を入力してください:admin
パスワードを入力してください:1234
ログイン成功!
ユーザー入力とデータ構造
ユーザーからの入力をリストや辞書に格納することで、複数のデータを管理することができます。
例:ショッピングカートシステム
cart = []
while True:
item = input("商品名を入力してください(終了するには 'exit' と入力):")
if item.lower() == "exit":
break
cart.append(item)
print("ショッピングカートの中身:", cart)
実行結果
商品名を入力してください(終了するには 'exit' と入力):リンゴ
商品名を入力してください(終了するには 'exit' と入力):バナナ
商品名を入力してください(終了するには 'exit' と入力):exit
ショッピングカートの中身: ['リンゴ', 'バナナ']
表1:input()の基本仕様
特徴 | 説明 |
---|---|
デフォルトの型 | str (文字列型) |
型変換の必要性 | 数値として扱いたい場合は int() や float() を使用 |
プロンプトメッセージ | ユーザー入力を促す文字列を表示できる |
図解:ユーザー入力の流れ
+------------------+
| input関数で入力取得 |
+---------+--------+
|
v
+---------+--------+
| 入力データを変数へ格納 |
+---------+--------+
|
v
+---------+--------+
| 必要に応じて型変換 |
+---------+--------+
|
v
+------------------+
| プログラムでデータ利用 |
+------------------+
まとめ
input()
関数 を使って、ユーザーからの入力を取得できます。- デフォルトでは文字列型ですが、
int()
やfloat()
を使うことで数値型に変換可能です。 - エラーハンドリング を活用して、無効な入力への対応を行うと、プログラムがより堅牢になります。
- ユーザー入力を使うことで、対話型で柔軟なプログラムを作成できます。
次のステップ:基本的な出力のフォーマット
次回は、「基本的な出力のフォーマット」を学びます。フォーマットを使うと、データを見やすい形に整えて表示することが可能です。特にテーブル形式やカスタマイズされたレポートを作成する際に役立つスキルですので、ぜひお楽しみに!
コメント