2016-07-06 50 views

回答

0

与您的示例代码,最好的办法是赶上ValueError,然后再试一次:

def get_int(): 
    try: 
     return int(input('Type an integer:')) 
    except ValueError: 
     print("Not an int. Try again.") 
     return get_int() 

的原因是因为如果用户输入一个非整数字符串,然后在您有机会检查类型之前引发异常,因此isinstance在这里并不能真正帮助您。

0

一种方式是值铸造成和处理异常:

try: 
    parsed = int(user_input) 
    print ("int") 

except: 
    print ("not int")