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))