Python 仅当数字1到10的立方体可被4整除时,才打印该立方体

Python 仅当数字1到10的立方体可被4整除时,才打印该立方体,python,list,Python,List,这里的代码一切都好吗 他们要求我打印每个立方体,对于1到10之间的数字,它可以被4整除。我做错了什么 是否允许使用此符号x^3获取x的立方体?如果是,为什么会导致错误的输出 您的射程已关闭。您需要range(1,11),因为range()的第二个参数是要排除的第一个值范围(1,10)仅提供数字1到9。如果要包含值10,必须将范围更改为范围(1,11),因为范围不包含第二个参数 在常规Python中,x^3并不意味着求幂,而是意味着二进制操作“按位异或”。这是SageMath(基于Python)

这里的代码一切都好吗

他们要求我打印每个立方体,对于1到10之间的数字,它可以被4整除。我做错了什么

是否允许使用此符号
x^3
获取x的立方体?如果是,为什么会导致错误的输出


您的射程已关闭。您需要
range(1,11)
,因为
range()
的第二个参数是要排除的第一个值<代码>范围(1,10)仅提供数字1到9。

如果要包含值
10
,必须将范围更改为
范围(1,11)
,因为范围不包含第二个参数

在常规Python中,
x^3
并不意味着求幂,而是意味着二进制操作“按位异或”。这是SageMath(基于Python)中的幂运算,但不是普通Python中的幂运算,后者使用
x**3
,或者在您的代码中使用
x*x*x

由于您希望在一行中打印所有列表,包括周围的括号,因此只需使用
print x
打印即可。用它代替最后两行代码。

当您编写
范围(1,10)
时,您包括1,但不包括10

所以正确的代码是:

cubes_by_four = [x*x*x for x in range(1,11) if (x*x*x) % 4 == 0]

print cubes_by_four:
将x**3用于立方体将是一个很好的实践

cubes\u by\u four=[x**3表示范围(1,11)内的x,如果(x**3)%4==0]

最后,将该列表打印到控制台


它表示打印列表,而不是将列表中的每个项目打印到控制台范围
的第二个参数不包括在范围内

是在1到10之间吗?还是从1到10

介于1和10之间是
范围(2,10)


1到10是
范围(1,11)
好的,有几件事需要记住:- 1) 如果您想要数字1-10,请执行
范围(1,11)
,因为最后一个数字被排除在外,而第一个数字(显然)被包括在内。 2) 代替
(x*x*x)
,你可以做一些更好的事情,比如:-
pow(x,3)
,这基本上意味着x是3的幂,或者x的立方

因此,您的最终代码变成:-
cubes=[pow(x,3)表示范围(1,11)内的x,如果pow(x,3)%4==0]


我希望这能帮助你,继续学习,陷入困境是编程世界美妙旅程的一部分。干杯!:)

这里显示的代码有两个不同的问题:

首先,将
range(1,10)
更改为
range(1,11)
,因为Python不包含第二个参数(10),并且10^3被4平均除以(1000/4=250)

最后,本教程希望您在一行中打印所有数字,因此只需使用
print cubes\u by\u four
而不是使用
for
循环,您可以在不同的行中打印每个数字

打印前10个立方体编号(x**3)的脚本,以x=1开始,以x=10结束


帮助我的是认识到范围排除了1,即:
range(0,9)
只能做0-8,除非你想要0-8,否则正确的方法是0-10。

作为旁注:你可以使用
x**3
来获得立方体,使用x**3来获得立方体。你是否尝试直接打印列表,而不仅仅是循环中的元素?比如:
print cubes\u by\u four
@Keiwan好的,谢谢。请查看有问题的屏幕截图。尝试使用x**3处理立方体,可能他们希望您使用此方法。您应该将该列表打印到控制台,作为
print cubes\u by\u four
请查看有问题的屏幕截图。
cubes_by_four = [x*x*x for x in range(1,11) if (x*x*x) % 4 == 0]

print cubes_by_four:
>>> cubes_by_four = [x**3 for x in range(1,11) if x**3 % 4 == 0]
>>> print(cubes_by_four)
[8, 64, 216, 512, 1000]
for x in range(1,11):
 print(x*x*x)
for x in range(1,11):
    print(x*x*x)