如何让程序在值错误后自动重启 - Python
我有一个程序,可以把二进制数转换成十六进制数。这个程序还有一个功能,就是如果你输入的不是0或1,或者字符串的长度不是8位,就会返回一个值错误。
现在我想要的是,如果程序出现了这个值错误,我该怎么写代码,让它在出错后自动重新开始运行。
3 个回答
0
这里有一个简单的程序,帮助你理解这个问题:
while True:
possible = input("Enter 8-bit binary number:").rstrip()
if possible == 'quit':
break
try:
hex = bin2hex(possible)
except ValueError as e:
print(e)
print("%s is not a valid 8-bit binary number" % possible)
else:
print("\n%s == %x\n" % (possible, hex))
这个程序会一直运行,直到你输入 quit
这个词为止。
2
把你的代码放进一个循环里:
while True:
try:
# your code here
# break out of the loop if a ValueError was not raised
break
except ValueError:
pass # or print some error
2
把代码放在一个循环里。
while True:
try:
#your code
except ValueError:
#reset variables if necesssary
pass #if no other code is needed
else:
break
这样可以让你的程序一直重复运行,直到没有错误为止。