变量 cubes_by_four 应仅包含数字1到10的多维数据集,前提是该多维数据集可被4整除。 我试过 -
cubes_by_four = [i for i in range(1,10) if (i**3)%4 == 0]
print cubes_by_four
我的输出是 -
[2, 4, 6, 8]
问题是 - 哎呀,再试一次。看起来cubes_by_four是错误的长度。它应该有5个值。
在线教程学习网站codeacademy.com给我错误..
我应该在哪里犯错误?请帮助我。
答案 0 :(得分:3)
您的range(1,10)
将返回数字1-9。您需要range(1,11)
才能获得数字1-10。有关详细信息,请参阅the docs,但请简单地说:
range(start, stop, step)
将返回一个列表[start, start + step, start + 2*step, ...]
,其中最后一个元素将小于停止(假设step
为正,如果它是否则它大于停止。)
然后你的列表组成
cubes_by_four = [i for i in range(1,11) if (i**3)%4 == 0]
# [2, 4, 6, 8, 10]
答案 1 :(得分:0)
应该很容易看出,如果一个整数的立方体可以被4整除,那么该数字必须有2作为因子。所以,
cubes = [i**3 for i in range(2, 11, 2)]