为什么我不能对这些列表求和?它只返回第一个答案,但如果我打印,我可以让它打印所有答案吗?谢谢:)



这是我迄今为止的代码。我不明白为什么它可以与打印一起使用,但不能作为返回函数?

# Setup
import numpy as np
data_string = input("Enter elements of a list separated by space")
data = data_string.split()

# Function
def sumrescubed(data):
for i in range(len(data)):
data[i] = float(data[i])
data_sum = sum(data)
mean = sum(data) / len(data)
for i in range(1, len(data)):
answer_sum = sum([(data[i] - mean) ** 3])
return answer_sum

sumrescubed(data)

您可能想做的是使answer_sum成为一个列表,并将每个多维数据集附加到其中,这样您就可以返回单个项目的列表(这是您在print(answer_sum) within the loop in your current code时看到的(:

answer_sum = []
for i in data:
answer_sum.append((i - mean)**3)

return answer_sum

我建议通过使用理解来简化整个过程,而不是按索引迭代列表:

def sumrescubed(data):
nums = [float(i) for i in data]
mean = sum(nums) / len(nums)
return [(i - mean)**3 for i in nums]

最新更新