Python

[Python] 例外処理で指定のデータ型以外を入力させない

2018年7月2日

こんにちは!土門大貴(daikidomon)です。

ブログなどの各種メディアではデータ型の確認方法は公開されていますが、

指定されたデータ型以外の入力を受け付けない書き方は公開されていません。

この記事では例外処理「try ~ except」で指定したデータ型以外は入力させない方法を紹介します。

指定したデータ型しか入力させない例外処理

今回は、「整数値しか入力できないようし、整数値以外入力された場合に再入力させる」例外処理をさせてみます。

下が「try ~ except」を使用したサンプルコードです。
while True:
try:
number = int(input("Input interger number, please : "))
break
except ValueError:
print("No valid number. Try agein.")

解説

1行目の「While文」で入力が正常に行われるまで実行します。
while True:
try:
number = int(input("Input interger number, please : "))
break
except ValueError:
print("No valid number. Try agein.")
5行目の「except ValueError」で入力された値が整数値以外の場合に例外とさせてます。
while True:
try:
number = int(input("Input interger number, please : "))
break
except ValueError:
print("No valid number. Try agein.")
正常に整数値が入力された場合に4行目の「break」でWhile文を抜けます。
while True:
try:
number = int(input("Input interger number, please : "))
break
except ValueError:
print("No valid number. Try agein.")
下がサンプルプログラムです。
if __name__ == '__main__':
while True:
try:
number = int(input("Input interger number, please : "))
break
except ValueError:
print("No valid number. Try agein.")
print("Number is " + str(number))

# Input interger number, please : aaa
# No valid number. Try agein.
# Input interger number, please : 100.5
# No valid number. Try agein.
# Input interger number, please : 100
# Number is 100
 

関連記事

-Python

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.