【Python入門】input関数とは?使い方や複数入力・数値判定の方法を解説

Pythonでは、ユーザが入力した内容をプログラム内に反映させることができます。

キーボード入力の内容を文字列として取得する場合、「input」と呼ばれる関数を使用します。

この記事では、input関数の基本的な使い方や、複数入力・数値判定の方法について解説します。

目次

inputとは?

先程も説明した通り、キーボード入力した文字列を取得することができる関数を指します。

input()関数の役割は、以下の2つです。

  1. 括弧内に入れられた値を出力(表示)し、キーボード入力を待つ
  2. 入力(Enterキーを押下)した内容を文字列として取得する

基本的な使い方

input()の括弧内に表示したい内容を記述すると、プログラム実行時に出力して待機します。

入力待ち中は、一見すると「なぜ処理が止まっているのか?」がわからないので、入力を促す文言を指定しておくのがおすすめです。

キーボード入力を行いEnterキーを押すと、記述内容を文字列として指定された変数に保持します。

word = input("何か入力してください --> ")  # input関数で入力された値を、wordに保持
print(word)  # word(input関数の入力結果)の中身を表示

= 実行結果 =

何か入力してください --> aaa
aaa

応用的な使い方

input()関数で入力内容を受け取る際、以下のような制約があります。

  • 入力した内容は文字列として扱われる
  • Enterキーを押すまでの内容を、1つの内容として解釈

そのため、「複数値(行)の入力ができない」「数値のまま取得できない」といった不便が生じる場合もあります。

この先では、input()を使った応用的な使用方法について紹介します。

一度に複数の値を受け取る場合

一度に複数の値を受け取る場合は、split()メソッドを組み合わせて使用します。

split()では、括弧内()で指定した値を「区切り文字」として、文字列を分割することができます。

また、結果を保持する変数も複数用意しておけば、切り分けた文字列をそれぞれ保持できます。

name, age = input("名前と年齢を入力 --> ").split(", ")  # 「, 」を区切りとして分割
print(name)  # nameの中身を表示
print(age)  # ageの中身を表示

= 実行結果 =

名前と年齢を入力 --> Taro, 22
Taro
22

数値かどうかを判定し、変換したい場合

input()の結果を数値に変換する場合は、int()float()関数を使用します。

int()では文字列を整数に、float()では浮動小数点数(小数)に変換することが可能です。

また、入力された内容が数値かどうかを判定したい場合は、try文を使用します。

try文とは、try文とは、エラー(例外)が発生した場合に実行する処理を指定できる記述法です。

try文を活用すると、

  • 入力内容を数値に変換できる場合は、そのまま変換する
  • 数値に変換できない場合(エラー時)は、処理を行わない

といった形で、実行結果に応じて処理を分岐させることが可能です。

word = input("数値を入力してください --> ")  # input関数で入力された値を、wordに保持

try:
    word = int(word)  # wordの中身を整数に変換する
except ValueError:
    pass  # 変換できない場合は、処理をスルー(文字列のまま)

print(word, type(word))  # wordの中身とデータ型を表示

= 実行結果 =

数値を入力してください --> 123
123 <class 'int'>

まとめ

この記事では、input関数の基本的な使い方や、複数入力・数値判定の方法について解説しました。

inputを活用すれば、ユーザの入力した内容をプログラムに反映させることができます。

Pythonを扱う上ではかかせない関数ですので、しっかりと使い方を押さえておくようにしましょう。

シェアはこちらから
目次