ValueError: invalid literal for int() with base 10: ''---不能把空字符串转化为10进制整数



def numbo():
    ap = int(input('请输入你猜的数:'))
    num = random.randint(1, 100)
    if num == ap:
        print('恭喜!你猜对了!')
        numbo()
    else:
        print('很遗憾!你猜错了!')
        numbo()


numbo()

正常输入数字时,程序正常执行,当不输入直接回车时或者输入其他类型时就会报错,原因是num是整数类型,不能和其他类型直接比较
解决方法:使用异常处理


def numbo():
    try:
        ap = int(input('请输入你猜的数:'))
        num = random.randint(1, 100)
    except:
        print('输入类型错误!请输入数字!')
        numbo()
    else:
        if num == ap:
            print('恭喜!你猜对了!')
            numbo()
        else:
            print('很遗憾!你猜错了!')
            numbo()
numbo()