-1

我明天有一个作业要交。我设法做了一些解决方案,你能看到问题和我的答案并帮助我修复我的程序吗?

编写两个 Python 函数。首先,写 average(x),给定一个实数值 x 的列表,计算并返回该列表的平均值,计算如下:列表中值的总和除以值的数量。函数的输出应该是一个浮点数。

其次,编写另一个 Python 函数 standardDev(x) 来计算给定实数值 x 列表的标准差。该函数的计算如下:将平均值与列表 x 中每个元素的平方差相加,然后除以列表中的元素数,最后取平方根。输出应该是一个浮点数。(提示:从函数standardDev(.)调用函数average(.))

x = int(input("Number of numbers : "))

def average():

    list = []

    sum = 0
    t = 0
    y=0
    for i in range (x): 
        list.append (int (input("Enter number: ")))       
    print (list)

    # this part i dunno why i can't get the sum to add the numbers from list 
def sum():
    t = []
    for i in range (x):
        list.append (t)
        sum = sum + t
        print (sum)

avg = average()
sm = sum()
4

1 回答 1

1

一些提示

使用单独的函数读取列表并使其他函数将列表作为参数:

lst = read_list()

print(sum(lst))
print(average(lst))
print(standard_dev(lst))

使用内置函数sumlen计算列表中元素的总和和数量。如果您不允许使用sum,则如下所示:

result = 0
for value in lst:
   result += value

read_list使用float(input(...))中,不是int,因为分配说“真正的价值”。

要取平方根,您需要导入math模块。

于 2013-11-15T09:27:39.277 回答