输出结果错误



请帮我一下。这算错了。我想可能是因为它从1开始计数而不是从0开始。我应该如何编辑代码?

我的任务是:如果数组元素小于10赋零值,并将大于20的项赋给1

a = [1,3,4,5,6,34,51,44,12,42,1,4,2,31,30]
b = []
for i in a:
if i < 10:
b.append(0)
elif i > 20:
b.append(1)
print(b)

我输出:

[0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1]

但它必须是这样的:

[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1]

问题是您只检查小于10或大于20,并且在您的数组中有一个12,这也不适合。在不彻底改变之前的规则的情况下,确实没有一种方法可以编辑代码,使其为您提供所需的输出。你确定[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1]是正确的输出吗?

最新更新