我正在通过做一些在线作业来练习我的编码技能。在其中之一中,进行了一个变异测试,但我的代码始终失败。 问题是,每当我测试我的代码时,我都不会在原始输入中看到任何变化,但是仍然会收到该错误。
我在理解这个突变部分时遇到了困难,并且由于测试的输出没有给出关于我的代码输入的任何提示,我也面临着纠正我的代码的麻烦。输出类似于
您已经更改了输入列表:[312,152,390,315,370,180,259,165]应该等于[312,93,152,390,315,370,180,259,165] >
def remove_smallest(numbers):
numbers = numbers
if numbers == []:
return numbers
else:
find_lowest = min(numbers)
times = numbers.count(find_lowest)
if times == 1:
smallest_index = numbers.index(find_lowest)
del numbers[smallest_index]
return numbers
elif times > 1:
indices = []
i = 0
while i < len(numbers):
if numbers[i] == find_lowest:
indices.append(i)
i += 1
smallest_index = min(indices)
del numbers[smallest_index]
return numbers
print(numbers)
输出应仅比原始输入少一个元素,此移除的元素应为给定输出中具有最小索引的最小值,并且原始输入不会发生任何变异,例如:
remove_smallest([312,152,390,315,370,180,259,165]) 应该给[312,390,315,370,180,259,165]
我的问题是,当我无法重现该突变错误并查看错误之处时,该如何解决?