2011-08-17 70 views
0

所以我有這個程序將二進制轉換爲十六進制。如果您輸入非0或1或者字符串大於或小於8位,我也有一個返回值錯誤的部分。如何讓程序自動重啓後的值錯誤 - Python

但我現在想要的是,如果程序確實得到了值錯誤,我該如何編寫它,以便在值錯誤後自動重新啓動。

回答

2

括起來的代碼在while循環。

while True: 
    try: 
     #your code 
    except ValueError: 
     #reset variables if necesssary 
     pass #if no other code is needed 
    else: 
     break 

這應該允許您的程序重複,直到它運行沒有錯誤。

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 
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只停止。

相關問題