これまでの記事では、プログラムの中に書かれたデータを表示したり計算したりする方法を学んできました。しかし、実際は、ユーザーが入力した情報(名前や検索キーワードなど)に応じて結果が変わることがほとんどです。
今回は、プログラムの実行中にユーザーからの入力を受け取ることができる「input()関数」を使ってみましょう。
input()関数の基本的な使い方
Pythonでユーザーからの入力を受け取るには、input()関数を使います。input()関数を使用するには、受け取るための変数名、イコール「=」、input、括弧「()」を使います。括弧の中には、入力を促すメッセージ(文字列)を記述することもできます。
なので例としてinput()関数は、
変数名 = input("メッセージ")の形式で書くことで、入力されたデータを受け取ることができます。
では実際にやってみましょう。まずは、名前を入力して挨拶をするプログラムを作ってみます。
Google Colaboratoryを開いて新しいノートブックを開き
# ユーザーに名前の入力を求める
name = input("あなたの名前は?:")
#入力された名前を使って挨拶する
print(f"こんにちは、{name}さん!")とセルに入力して実行してみましょう。
すると、入力ボックスが表示され、「あなたの名前は?:」と聞かれます。そこに自分の名前(例えば「佐藤」)を入力してEnterキーを押してみてください。
結果は
こんにちは、佐藤さん!
と表示されます。このコードではまずinput関数がプログラムを一時停止して入力を待ちます。そして、入力された「佐藤」という文字を変数nameに代入し、その後のprint関数でその変数を使って挨拶を表示させています。
[ポイント]数値を入力したい場合(型変換)
ここで一つ、つまずくポイントがあります。それは、「input()関数で受け取ったデータは、すべて文字列(str)になる」ということです。
たとえ数字の「10」を入力したとしても、Pythonはそれを文字としての「 “10” 」として扱います。そのため、そのまま計算に使おうとするとエラーになったり、意図しない結果になったりします。
では、失敗する例を実際にやってみましょう。
# 好きな数字を入力してもらう
number = input("好きな数字を入力してください:")
#入力された数字に10を足そうとする(エラーになります)
print(number + 10)これを実行して数字を入力すると、計算の行でエラー(TypeError)が発生してしまいます。文字と数字は直接足し算できないからです。
解決策: int()を使う
入力されたデータを計算に使いたい場合は、文字列を数値(整数)に変換するint()関数を使います。
では、正しく計算できるコードを実際にやってみましょう。
# 好きな数字を入力してもらう
number_str = input("好きな数字を入力してください:")
# 文字列を整数(int)に変換する
number = int(number_str)
# 10を足した結果を表示する
print(number + 10)とセルに入力して実行してみましょう。入力ボックスに「5」と入れてEnterキーを押します。
すると結果は
15
と表示されます。これは、最初にinputで受け取った文字としての「 “5” 」を、int(number_str)の部分で数値の「5」に変換したため、正しく「5+10」の計算が行われたからです。もし小数を扱いたい場合は、int()の代わりにfloat()を使いましょう。
まとめ
今回は、ユーザーからの入力を受け取る「input()関数」について解説しました。
・ユーザー入力を受け取るには変数 = input(“メッセージ”)の形式で書く。
・input()で受け取ったデータは必ず「文字列」になる。
・計算に使いたい場合はint()やfloat()で数値に変換する必要がある。
これを使えば、簡単な計算機など作れるものの幅が一気に広がります。ぜひ色々な入力を試してみてください。

今回はこれで終了です。今回のサンプルを用意したので、もし必要な場合は上の「Open in Colab」と書いてあるボタンをクリックしてください。なおそのままだと編集不可なので編集をしたい場合は「ドライブにコピー」をクリックしてコピーしてください。
なおGoogle ColaboratoryについてわからなかったらGoogleColaboratoryを使ってみよう_導入編をご覧ください。