Python 仅当数字1到10的立方体可被4整除时,才打印该立方体
这里的代码一切都好吗 他们要求我打印每个立方体,对于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)
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)