没看明白,为什么显示测试失败。。
Topic source明白了明白了!这下就成功了~
def mul(*numbers):
if numbers ==(): #注意这2步很重要!!
raise TypeError('Error') #不传参数,调用mul()的结果是1,mul()应该抛出错误才对!
s=1
for n in numbers:
s = s*n
return s
#测试
print('mul(5) = ',mul(5))
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('测试成功!')
- 1
凡九朵
def mul(*numbers):
s=1
for n in numbers:
s = s*n
return s
#测试
print('mul(5) = ',mul(5))
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('测试成功!')