Pythonでキーボードから入力した数値を取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonでキーボードから入力した数値を取得する方法について現役エンジニアが解説しています。キーボードの入力を取得するには、input関数を使います。数値かどうかを判定するにはisdecimalメソッドを使います。Pythonでキーボードから入力された値を取得する方法を解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonでキーボードから入力した数値を取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonでキーボードから入力した数値を取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事では、Pythonにおいて、キーボードからの数値入力を受け取る方法について解説します。
 

目次

 

キーボードから入力した値を取得する方法

まずはじめに、キーボードから入力した値を取得するためのinput関数について説明します。

input関数は、プログラムの実行中にキーボードからの入力を取得するための関数です。

変数 = input()

と記述することで、プログラムの好きな位置でキーボード入力を取得できます。

また、

変数 = input('入力>>>')

のようにすると、

>> a = input('入力>>>')
入力>>>

に表示されます。

このように、引数に文字列を渡しておくと、プログラムの実行中のどのタイミングで入力を行なえばいいかがわかるようになっています。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

入力値が数値かどうかを判定する方法

次に、input関数を使って受け取った値が数値であるかどうかを判定する方法について解説します。

input関数で受け取った数字は、文字列として処理されるので、受け取った値の変数型を確認するだけではいけません。

この場合は、文字列変数がすべて数字であるか確認するためのisdecimalメソッドを使います。

str型変数.isdecimal()

とすると、str型変数が数字である場合にはtrueが出力されるので、入力された値が数値であるかどうか判定した上で処理を行うためには、

if str型変数.isdecimal():
  処理内容

などのようにして、if文を使って記述すると良いでしょう。

こうすることで、受け取った値が整数値である場合にのみ処理を行なうようにプログラムを組むことができます。

if文の処理内容として、

if str型変数.isdecimal():
  int型変数 = int(str型変数)

のようにすると、文字列で受け取った値をint型の整数値に変換できます。
 

実際に書いてみよう

それでは、上で紹介した方法を使って、Pythonにおけるキーボード入力された数値の取得方法を確認してみましょう。

今回のサンプルプログラムでは、「入力値が整数である場合は表示し、そうでない場合は再度入力を促す」という処理を行ないます。

プログラムコードは次のようになります。(対話型で実行する場合です。)

while(1):
  number = input('数値を入力>>>')
  if number.isdecimal():
   number = int(number)
   print(number)
   break

「入力が数値でない場合には再度入力を促す」処理を実現するために、while文を使って、数値を受け取った場合のみbreakするという処理を行なうようにしています。

これを実行すると、数値を入力するまで

数値を入力>>>

という表示がされ、次のように数値を入力すると、

数値を入力>>>10
10

と数値がそのまま表示されるようになっています。

数字を受け取ったあとの処理やif文の条件式を変えてみて、input関数やisdecimalメソッドについて確認してみてください。
 

まとめ

この記事では、Pythonを使って、キーボードからの数値入力を受け取って処理を行なう方法について解説しました。

キーボード入力を受け取ることでプログラムの幅が広がります。ぜひ覚えておいてください。
 

監修してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。