1

私はこの簡単なコードを持っています:

var = 1
while var == 1 : 
   try:
        num = int(raw_input("Enter a number  :"))
   except ValueError:
        print "Thats not a number!"
        continue
   try:
        num2 = int(raw_input("Enter another number :"))
   except ValueError:
        print "Thats not a number!"
        continue
   print "Sum of previous 2 inputs:="+str(num+num2)
print "Good bye!"

これで、最初の continue ステートメントは機能しますが、2 番目のステートメントは機能しません。ループの先頭に戻るためですが、2 番目の例外がキャッチされた場所に戻る必要があるため、最初の番号ではなく、2 番目の番号を再度入力するよう求められます。

何か案は?

4

1 に答える 1

6

You can factor out entering a number to a function – this spares you writing the same code twice:

def input_int(prompt):
    while True:
        try:
            return int(raw_input(prompt))
        except ValueError:
            print "That's not a valid integer!"

...
num = input_int("Please enter a number: ")
num2 = input_int("Please enter another number: ")
于 2012-08-10T11:45:01.547 に答える