Discuss / Python / [求助]为什么判断一下参数类型就报错了呀?

[求助]为什么判断一下参数类型就报错了呀?

Topic source
def mul(*numbers):    if not isinstance(numbers,(int,float)):        raise TypeError('Error')    if numbers == ():        raise TypeError('Error')    num = 1    for n in numbers:        num = num * n    return numprint('mul(a) =', mul('a'))print('mul(5, 6) =', mul(5, 6))print('mul(5, 6, 7) =', mul(5, 6, 7))print('mul(5, 6, 7, 9) =', mul(5, 6, 7, 9))if mul(5) != 5:    print('测试失败!')elif mul(5, 6) != 30:    print('测试失败!')elif mul(5, 6, 7) != 210:    print('测试失败!')elif mul(5, 6, 7, 9) != 1890:    print('测试失败!')else:    try:        mul()        print('测试失败!')    except TypeError:        print('测试成功!')
试试加个tuple:if not isinstance(numbers,(int,float,tuple)):  

  • 1

Reply