在对每个偶数进行平方和立方运算后,我想列出一个列表
以下是我迄今为止的代码:
def sq_cube(numbers):
ls1 = []
for i in numbers:
if i%2 == 0:
ls1.append(i)
else:
pass
ls2square = [x**2 for x in ls1]
ls3cube = [x**3 for x in ls1]
ls4all = list(ls2square +ls3cube)
return ls4all
RUN: sq_cube([1,2,3,4,6])
OUTPUT:[4, 16, 36, 8, 64, 216]
I would love my OUTPUT to be: [[4, 8], [16, 64], [36, 216]]
ls1:在这里,我将列表1,2,3,4,6排序为偶数
ls2square:将ls1中的偶数平方
ls3cube:对ls1中的偶数进行立方运算
正如您在我的输出中看到的,它给出了两个列表,但没有给出每个列表的偶数 对其单独列表进行编号,其中偶数为平方和立方
问题来自
ls4all
。你的代码是变量
ls4all
不包含所需的列表:[[4, 8], [16, 64], [36, 216]]
,因为它是ls2square
和ls3cube
的串联。我们希望在ls2square
和ls3cube
中有元素对的列表。为了实现这一点,您可以创建一个迭代器来输出ls2square
和ls3cube
的元素对,例如,使用zip
命令zip
命令的工作原理如下:如您所见,它将
[1,10]
和[2,20]
中的元素聚集在一起,形成成对。 因此,您可以通过以下方式使用zip
:无论如何,简短的回答是:
更新: 如果整数的类型为
float
,则k % 2
将引发以下错误因此,如果要将浮点值四舍五入到最接近的整数,只需使用
round
函数,如下所示:以上简短的回答是:
创建一个新列表 轮进名单 循环检查每个数字是否为偶数 然后把这个数平方和立方
由于您希望相同编号的正方形和立方体位于同一列表中,因此可以使用此选项,因为两个列表(ls2square、ls3cube)具有相同的长度,而不只是将它们添加在一起,您可以在单独的列表中添加它们所具有的每个对应元素,ls2square中的元素0与ls3cube的元素0一起,依此类推:
相关问题 更多 >
编程相关推荐