try:
grossCheck = int(input("How much? (figures only pls.)\n"))
except ValueError:
grossCheck = int(input("How much? (FIGURES ONLY PLS.)\n"))
tenPees = grossCheck * 0.1
realPees = grossCheck - tenPees
print("you've got " + str(realPees))
我得到了:
ValueError: invalid literal for int() with base 10: 'w'
During handling of the above exception, another exception occurred:
事情是我之前处理过相同的异常。 我试图处理它,以防用户在不破坏程序的情况下仍然多次输入错误的值。
答案 0 :(得分:0)
您需要以某种方式处理异常。一种方法是不断询问:
try:
grossCheck = int(input("How much? (figures only pls.)\n"))
except ValueError:
while True:
try:
grossCheck = int(input("How much? (FIGURES ONLY PLS.)\n"))
break
except ValueError:
pass
答案 1 :(得分:0)
while 1:
try:
grossCheck = int(input("How much? (figures only pls.)\n"))
tenPees = grossCheck * 0.1
realPees = grossCheck - tenPees
print("you've got " + str(realPees))
except ValueError:
print('You must enter number')
这是处理错误的正确方法之一。 你得到的错误,是因为你把输入放在除了块之外,你不应该这样做,除了你应该打印错误,如果你想要,或者只是重复尝试阻止