Try-除了ValueError循环

Try-除了ValueError循环

问题描述:

def enterNumber(): 
    number = input("Please enter a number to convert to binary. ") 
    while True: 
     try: 
      int(number) 
      convertDenary() 
     except ValueError: 
      enterNumber() 
def convertDenary(): 
     binaryNumber = ['','','','','','','',''] 
     print(enterNumber()) 
     if enterNumber() > 128: 
      enterNumber() - 128 
      binaryNumber[0] == 1 
enterNumber() 

Try- Except ValueError循环,因为我打算它,但它不会中断。我试过在int(number)下加入break,删除while True:并加入convertDenary()看看它是否会强制子程序停止并启动另一个,但它仍然不起作用。Try-除了ValueError循环

我得到一个无限循环的“请输入数字以转换为二进制。” 任何想法?

+0

只需在您的'try'语句中调用'enterNumber'第一件事物,并在'convertDenary'之后中断。顺便说一下你的缩进是错误的。 –

+0

@ Jean-FrançoisFabre缩进错在哪里? – Joseph

def convertToBinary(number): 
    if number > 1: 
     convertToBinary(number//2) 
    elif number<1: 
     enterNumber() 

    print(number % 2,end = '') 

def enterNumber(): 
    number = (input("Please enter a number to convert to binary : ")) 
    try: 
     convertToBinary(int(number)) 
    except Exception as e: 
     print(e) 

enterNumber() 
+0

这很好,但是,如何才能使此连续循环直到输入有效的输入? – Joseph

+0

没关系,我想通了,谢谢! – Joseph

+0

@Joseph我编辑的代码。希望你的问题解决了! –