我在内部有一个名为SumofSquares的函数,我正在调用Square函数,传递列表值。我想在Square函数中迭代,并将每个for循环数据发送回SumofSquares。请给我一些建议
def Square(Array):
for data in Array:
return data
def SumofSquares(Array):
SquaredValue = Square(Array)
Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Total = SumofSquares(Array)发布于 2020-07-29 19:45:59
您的原始问题具有yield (拼写错误),但由于某种原因,您将其删除。您需要yield,并且它需要返回一个值:
def square(array):
for data in array:
yield data * data
def sum_of_squares(array):
return sum(square(array))
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
total = sum_of_squares(array)但是你做事情的方式,你根本不需要生成器。
def sum_of_squares(array):
return sum(x * x for x in array)
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
total = sum_of_squares(array)这两个示例产生相同的结果。
请注意,我更改了一些名称以使其更符合Python naming conventions。
发布于 2020-07-29 19:49:10
只需返回一个列表,其中包含您想要返回的结果:
def Square(Array):
res = []
for data in Array:
res.append(pow(data, 2))
return (res)
def SumofSquares(Array):
res = 0
for k in Array:
res += k
return (res)
Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Total = SumofSquares(Array)我还在您的Square函数中添加了pow(data,2) (类似于data**2),因为您似乎在问题中忘记了它,如果我误解了,请随时删除它
https://stackoverflow.com/questions/63152578
复制相似问题