【发布时间】:2016-03-15 22:00:46
【问题描述】:
我想创建一个函数,它返回奇数位置的列表元素或列表的负元素。
我的解决方案适用于第一个断言,但第二个会生成 AssertionError,因为返回 [-1, -2, 1] 而不是 [-1, -2]。有什么建议吗?
def solution(input):
output = []
for item in input:
if item < 0:
output.append(item)
elif not item % 2 == 0:
output.append(item)
return output
assert solution([0,1,2,3,4,5]) == [1,3,5]
assert solution([1,-1,2,-2]) == [-1,-2]
【问题讨论】:
-
为什么不是
[-1,-2,1]? 1 是奇数... -
@JoranBeasley 假设得到的数字要么是奇数要么是负数,所以
[-1, -2, 1]不正确