#4 Pythonで学ぶ標準入力の基本

プログラムが利用者からの入力を受け取る仕組みを「標準入力」と呼びます。この記事では、Pythonで利用者にキーボードから文字を入力してもらう方法について解説します。

input()で入力を受け取る

Pythonでは、input()という機能を使うだけで、利用者の入力を受け取れます。

name = input("名前を入力してください: ")
print("こんにちは、" + name + "さん")

プログラムを実行すると、括弧の中に書いたメッセージが表示され、利用者がキーボードで文字を入力してEnterキーを押すと、その内容が変数に格納されます。

入力された値は常に文字列

ここで注意したいのが、input()で受け取った値は、たとえ数字を入力しても、必ず「文字列」として扱われるという点です。数値として計算に使いたい場合は、int()やfloat()を使って型を変換する必要があります。

age = int(input("年齢を入力してください: "))
print(age + 1)

変換に失敗するとエラーになる

int()で変換しようとした際に、利用者が数字ではない文字(例えば「二十歳」など)を入力すると、プログラムはエラーで停止してしまいます。以前の記事で触れたtry・exceptと組み合わせると、想定外の入力にも安全に対応できます。

try:
    age = int(input("年齢を入力してください: "))
except ValueError:
    print("数字を入力してください")

複数の値をまとめて受け取る

スペース区切りで複数の値が入力される場合は、split()で分割してから、それぞれを変換します。

line = input("2つの数値を入力してください: ") # 例: "3 5"
a, b = map(int, line.split())
print(a + b)

map(int, ...)は、分割した文字列のリストすべてにintを適用する、Pythonでよく使われる書き方です。

Pythonならではの注意点

input()の括弧の中に案内メッセージを書けるのはPythonの手軽さのひとつですが、逆にメッセージを書き忘れると、利用者は何も表示されない画面でただ入力を待つことになります。何を入力すればよいか、必ずメッセージで伝えるようにしましょう。

まとめ

Pythonの標準入力はinput()ひとつで手軽に扱えますが、受け取った値が常に文字列であるという点には注意が必要です。数値として使う場合はint()・float()での変換や、try・exceptとの組み合わせを忘れないようにしましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Pythonをもっと学びたい方には「スッキリわかるPython入門 第2版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本