这是我迄今为止的代码。我不明白为什么它可以与打印一起使用,但不能作为返回函数?
# 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]