Python3で標準入力を数値で受け取る方法
Python3で標準入力を数値で受け取る方法です。Python3系では input() で標準入力となります。
標準入力の基本
以下のプログラムを実行すると…。
val = input('>>> ')
print(val)
print(type(val))
「11」を入力してあたかも数値を受け取ったように見えますが、type() で調べてみると実態は文字列型です。基本的に文字列型で受け取ります。
[ad#top-1]
数値で受け取る場合
もしこれを数値として受け取る場合は 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))
以下の通り数値を入れれば数値として受け取り、文字列を入れれば文字列として受け取ってくれます。
[ad#ad-1]
スポンサーリンク



