新米エンジニアのプログラム記録

pythonプログラムの基礎を載せています。

【超入門】第2回:input関数を使ってキーボードから入力しよう

このページで学べること

  1. キーボードからの入力を受け付ける
  2. キーボードで入力した内容を出力する

目次

input関数とは

input関数は、pythonを初める多くの人が最初に学ぶ関数の内の1つです。キーボードからの入力を受け付ける機能となり、プログラムの途中で人がアクションを起こせるため対話式となり、初めてプログラムを触る人にとっても直感的に理解しやすく面白いと感じる関数となっています。

input関数の使い方

ここからは実際にinput関数を使ってみましょう。
<書き方>

x = input("数値を入力してください")
print(x)

<出力画面>


 動作としては、「x」の変数内にキーボードで入力した内容が保存されることになります。人が入力する際には、ダブルクオーテーション("")で囲んだ部分が画面上に出力されて、入力を受け付け待機中となっています。
print(x)では、input関数によって入力された内容を出力画面上に表示させています。
print関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com

input関数の注意点

先ほどのプログラムで、"数値を入力してください"と画面上に表示されてキーボードで入力を受け付けましたが、プログラム上では数値として認識されていません。文字列として保存されている点に注意してください。
なので、入力された数値に1を足し算するような以下のようなプログラムを実行してみると。。

x = input("数値を入力してください:")
y = x + 1
print("合計")
print(y)

キーボードから「3」を入力した後に、TypeError:can only concatenate str (not "int") to str というエラー分が表示されてプログラムが止まります。
これは、y = x + 1の行でエラーが発生しており、文字と数字を足し算できませんというエラーになります。
このエラーを改善させるためには、input関数で入力した内容を数値(int型)に変換してあげる必要があります。そのことを踏まえてプログラムを修正すると以下のようになります。

x = input("数値を入力してください:")
x = int(x)

y = x + 1

print("合計")
print(y)

先ほどと違うのは、input関数の次の行にint(x)という行を足したことです。このint()は、()内の変数をint型に変換して保存する機能を持っています。なので、input関数で入力された「3」という文字をint()の機能を使って、数字の「3」に変換できたことで、足し算の計算を正常にできました。

最後に

 いかがだったでしょうか?今回はinput関数の使い方注意点についてまとめさせていただきました。この関数を使えることで、プログラムと人とが対話型となり、初めてプログラムを触った人にとっては一気にレベルアップした気持ちになります。今回の注意点としては、input関数で入力されたデータは、文字列であること。それを数値として扱うためにはint()の機能を利用する必要があることです。