python - 如何比较两个数组元素的平方和?
问题描述
我在 codewars.com 做 katas(练习)来练习我在 Python 中的学习。这是卡塔:
给定两个长度为 的整数数组
a
,创建一个程序,如果 in 每个元素的平方和严格大于in 每个元素的平方和,则返回。b
>= 1
True
a
b
这是我尝试过的代码:
def array_madness(a,b):
a = sum(i**2 for i in a)
b = sum(i**2 for i in b)
return True if a > b else False
这是我需要通过的测试:
test.assert_equals(array_madness([4, 5, 6], [1, 2, 3]),True)
test.assert_equals(array_madness( [1, 2, 3],[4, 5, 6]),False)
解决方案
您错误地复制了问题描述。它是 的平方和a
,以及 的立方和b
(它对两个数组进行不同的计算)。以下应该有效:
def array_madness(a,b):
return sum(i**2 for i in a) > sum(i**3 for i in b)