不知道为什么我的测试用例失败了?

时间:2017-03-26 23:23:10

标签: function python-3.x parameters conditional

我正在构建一个函数,用列表中的新值替换有限数量的旧值(xs),并将替换的数字作为新列表返回(new_xs)。我在大多数测试用例中失败了。我提供了两个预期输出示例和两个失败测试用例示例。

示例:

  

Limit = None(表示替换所有旧值)xs = [1,2,1,3,1,4,1,5,1] old = 1 new = 2 - > new_xs [2,2,2,3,2,4,2,5,2]

     

限制= 0或否定意味着不改变列表中的任何内容

     

Limit = 2表示只替换两个旧值并保持不变。

这是我的非工作代码:

def replace(xs, old, new, limit=None):
    new_xs=[]
    replacements=0
    for num in xs:
        if num == old and (limit is None or replacements<limit):
            new_xs.append(new)
            replacements+=1
        else:
            new_xs.append(num)
    return new_xs

仍未通过6次测试:

AssertionError:[]!=无

AssertionError:列表不同:[9,2,9,3,9,4,9,5,9]!= [ - 10,2,-10,3,-10,4,-10,5, -10]

0 个答案:

没有答案