我在我的一个程序中遇到这个问题,如果用户意外输入了他们不应该做的事情,那么尝试/排除错误可以使程序更好,但是没有工作。它仍然给我错误,我很难理解为什么。如果这对我的问题真的很重要,那就是错误:
ValueError: invalid literal for int() with base 10: 's'
以下是除了错误之外的代码片段:
apple_num = int(raw_input(prompt))
try:
if apple_num == 3 or apple_num == 2 or apple_num == 1:
global apples
apples = apples + apple_num
time.sleep(0.5)
pick()
elif apple_num >= 4:
print "\nYou can't haul that many apples!"
time.sleep(0.5)
pick()
elif apple_num == 0:
main()
except ValueError:
pick()
我再一次难以理解为什么我仍然会得到错误,一如既往地感谢任何帮助!
答案 0 :(得分:4)
第一行不在try-except-block中。
答案 1 :(得分:3)
改变这个:
apple_num = int(raw_input(prompt))
try:
对此:
try:
apple_num = int(raw_input(prompt))