ゼロからプログラマーになるために!【入出力とファイル操作編:5-1】ユーザー入力の取得

program

プログラミングでユーザーからの入力を取得することは、対話型プログラムを作成するための基本スキルです。この章では、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() を使うことで数値型に変換可能です。
  • エラーハンドリング を活用して、無効な入力への対応を行うと、プログラムがより堅牢になります。
  • ユーザー入力を使うことで、対話型で柔軟なプログラムを作成できます。

次のステップ:基本的な出力のフォーマット

次回は、「基本的な出力のフォーマット」を学びます。フォーマットを使うと、データを見やすい形に整えて表示することが可能です。特にテーブル形式やカスタマイズされたレポートを作成する際に役立つスキルですので、ぜひお楽しみに!

コメント

タイトルとURLをコピーしました
//投稿内コードにコピー表示 //コピー表示ここまで