非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Python3で標準入力を数値で受け取る方法

   

Python3で標準入力を数値で受け取る方法です。Python3系では input() で標準入力となります。

標準入力の基本

以下のプログラムを実行すると…。

val = input('>>> ')

print(val)
print(type(val))
 

 

「11」を入力してあたかも数値を受け取ったように見えますが、type() で調べてみると実態は文字列型です。基本的に文字列型で受け取ります。

広告

数値で受け取る場合

もしこれを数値として受け取る場合は int() を使って数値変換してあげるだけです。

val = int(input('>>> '))

print(val)
print(type(val))
 

 

int型として受け取りました。int()意外にも、float()で浮動小数点数にも変換できます。

これだと数値意外の入力でエラーになるので…

このままだと、文字列を入力してしまうと以下のようにエラーが出てしまうので、入力した内容に応じてint型または文字列型に変換するようにしたいと思います。

 

プログラムは以下の通り。一旦文字列型で受け取っておいて、数値に変換可能(val.isdecimal()==True)であれば数値変換してあげれば良いです。

val = input('>>> ')

if val.isdecimal()==True:
  val = int(val)

print(val)
print(type(val))
 

 

以下の通り数値を入れれば数値として受け取り、文字列を入れれば文字列として受け取ってくれます。

 

広告

 - Python