GADGET RECIPE

Gadget Recipe

060 標準入力から数値のみ受け付ける

学習内容

標準入力から数値以外の入力はエラーメッセージを表示させる。エラーの場合は再度入力待ちへ遷移させます。
エラーメッセージは「エラー!数字を入力して下さい。」と表示させます。
また、入力された数字をint型へ変換します。

練習コード

				
					# while文の条件式にTrueを設定して無限ループ状態を作ります。
while True:
    a = input() # 入力としてabc,あいう,100,230(全角),-300,1.34などを試してみましょう。
    
    # isdecimalメソッドは文字列が10進数かを判定します。全角の数字もOK
    # isdigitメソッドやisnumericメソッドでも数字を判定できますが少しずつ判定条件が異なります。
    # 1~9の数字のみを判定する場合はいずれのメソッドを使用しても問題ないでしょう。
    if a.isdecimal():
        break
    else:
        print("エラー!数字を入力して下さい。")

# 数値が入力されるとbreakによりwhile文を抜けます。
print(a) # 入力された数値を表示します。
print(type(a)) 
# input関数から入力された数値はstr型のため演算に使うにはint関数で変換します。
# 全角の数値も変換可能
print("int型に変換")
a = int(a)
print(a)
print(type(a)) 

				
			

実行結果

コーディング演習

次の処理をコーディングして下さい
1. 標準入力からabcを入力するとエラーメッセージを表示させる
2. 再度入力待ちとなる
3. 数値を入力すると値を型が表示される