Discuss / Python / 出现的结果看起来是对的,不过显示测试失败。有点奇怪。

出现的结果看起来是对的,不过显示测试失败。有点奇怪。

Topic source

def product(x): m = 1 for n in x: m = m n return m

加个* 把参数X改成可变参数

有*的,但是被markdown吞了。

我感觉是测试代码错了?

犭查猹

#5 Created at ... [Delete] [Delete and Lock User]

测试代码里面try了一次无参数调用,出现TypeError才算成功 也就是说你的函数在调用的时候不给任何参数,要会报错才算成功(当然这里报的错被try掉了) 也就是说参数列表里第一个参数一定要是必选参数才行 测试代码没有对最后一次测试进行说明,而且到这里也还没有讲到异常处理,怪怪的,我觉得是测试代码设计失误了

这是我的代码,测试成功的

def func(x,arg): temp = x for i in arg: temp = i return x

犭查猹

#6 Created at ... [Delete] [Delete and Lock User]

我贴出来的arg前面也是有个星号的,被吞了

这样写没有考虑默认的情况,即输入product()应该获得什么结果

def product(x): #x前有 res = 1 if x == (): print('错误:无输入') return else: for n in x: res = resn #n前有 return res 不用设立两个参数,前面加入一句判断即可,结果仍然是对的


  • 1

Reply