所以我有這個程序將二進制轉換爲十六進制。如果您輸入非0或1或者字符串大於或小於8位,我也有一個返回值錯誤的部分。如何讓程序自動重啓後的值錯誤 - Python
但我現在想要的是,如果程序確實得到了值錯誤,我該如何編寫它,以便在值錯誤後自動重新啓動。
所以我有這個程序將二進制轉換爲十六進制。如果您輸入非0或1或者字符串大於或小於8位,我也有一個返回值錯誤的部分。如何讓程序自動重啓後的值錯誤 - Python
但我現在想要的是,如果程序確實得到了值錯誤,我該如何編寫它,以便在值錯誤後自動重新啓動。
括起來的代碼在while循環。
while True:
try:
#your code
except ValueError:
#reset variables if necesssary
pass #if no other code is needed
else:
break
這應該允許您的程序重複,直到它運行沒有錯誤。
把你的代碼放到一個循環:
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
這裏有一個小程序,把它放在上下文中:
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
只停止。