2016-06-29 6 views
-1

ユーザーの入力がfloatであるか、ループ内でintegerであるかをどのように判断できますか? integer/float以外のものを入力した場合は、float/integerを正しく入力するまでループを繰り返す必要があります。入力をループ内の浮動小数点数および/または整数として決定するにはどうすればよいですか?

ご協力いただきましてありがとうございます。 :)

+1

「userInputNotSatisfiedは一方で:」を参照してください。http://stackoverflow.com/questions/354038/how-do -i-check-if-a-string-is-a-number-float-in-python – frank

答えて

-1

float()とint()関数を使用して不正なデータを解析しようとすると、報告されているエラーを使用できます。まず、intとfloatの両方を解析するジェネリック関数を定義し、 :

def parse(x): 
    value=0 
    try: 
     value = int(x) 
    except ValueError: 
     try: 
      value = float(x) 
     except ValueError: 
      raise Exception 
    return value 

あなたがループの中で正しいか間違った入力を決定するために、この一般的な機能を使用することができます

correct = False 
while not correct: 
    try: 
     parse(input("Enter data:")) 
     correct = True 
    except Exception: 
     print("Invalid input...enter again!") 
関連する問題