所以我有这个程序将二进制转换为十六进制。如果你输入非0或1或者字符串多于或少于8位,我也有一个返回值错误的部分。
但我现在想要的是,如果程序确实得到了值错误,我该怎么编码它以便它在值错误后自动重启。
答案 0 :(得分: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
答案 1 :(得分:2)
将代码包含在while循环中。
while True:
try:
#your code
except ValueError:
#reset variables if necesssary
pass #if no other code is needed
else:
break
这应该允许你的程序重复,直到它运行没有错误。
答案 2 :(得分: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
时才会停止。