如何让程序在值错误后自动重启 - Python

0 投票
3 回答
3428 浏览
提问于 2025-04-16 23:49

我有一个程序,可以把二进制数转换成十六进制数。这个程序还有一个功能,就是如果你输入的不是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

这样可以让你的程序一直重复运行,直到没有错误为止。

撰写回答