2017-03-24 6 views
-2

私はまだ簡単なPythonコードを書いていますが、私はまだ初心者ですが、解決できなかった問題に遭遇しました。Python:input()の範囲を作成する方法

name = raw_input("What is your name? ") 

maths = int(input("Enter your maths test result: ")) 
psychology = int(input("Enter your psychology test result: ")) 
economics = int(input("Enter your economics test result: ")) 
IT = int(input("Enter your IT test result: ")) 
religion = int(input("Enter your religion test result: ")) 
biology = int(input("Enter your biology test result: ")) 
average = (maths + psychology + economics + IT + religion + biology)/6 
print "Your average test score is: ", average 
minimum = min(maths, psychology, economics, IT, religion, biology) 
print "Your lowest score is: ", minimum 
maximum = max(maths, psychology, economics, IT, religion, biology) 
print "Your highest score is: ", maximum 

上記のコードは、ユーザが自分のテスト結果を入力することができ、それらの平均、最小および最大のスコアを返します。しかし、私は範囲を作成して、ユーザーが0または100を超える結果を入力できないようにする必要がありますが、自分でもオンラインでも調べる方法はわかりません。

私の問題に関しては、ありがとうございます。ありがとうございます。

答えて

1

のように、入力が有効であるときにのみ返すユーザーの入力をチェックする関数を作成:

def ask_user(msj, start=0, end=100): 
    while True: 
     try: 
      n = int(raw_input(msj)) 
      if start <= n <= end: 
       return n 
     except ValueError: 
      pass 
     print("invalid input, try again") 

int(input(...))

+0

の代わりに使用し、私はおそらく 'デフask_user(MSG、スタートを行うだろう= 0、end = 100): ' –

+0

@ cricket_007良いアイデア、私はそれを追加しました – Copperfield

関連する問題