以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积(注意通过异常处理)

def product(*args):   
#函数中*args默认为(),调用时若未输入参数即输入()时无法通过最后的异常处理测试。
   s=1        
    for x in args:
        s=s*x;
    return s
# -*- coding: utf-8 -*-
# 正确算法
def product(n1,*args):
    s=1        
    for x in args:
        s=s*x;
    return s*n1
# 测试
print('product(5) =', product(5))
print('product(5, 6) =', product(5, 6))
print('product(5, 6, 7) =', product(5, 6, 7))
print('product(5, 6, 7, 9) =', product(5, 6, 7, 9))
if product(5) != 5:
    print('测试失败!')
elif product(5, 6) != 30:
    print('测试失败!')
elif product(5, 6, 7) != 210:
    print('测试失败!')
elif product(5, 6, 7, 9) != 1890:
    print('测试失败!')
else:
    try:
        product()
        print('测试失败!')
    except TypeError:
        print('测试成功!')

def A(*args): #可用于了解各参数具体数值
print(args)
a = A()
print(a,type(a))

猜你喜欢

转载自blog.csdn.net/richand112233/article/details/87869595