首页 > 解决方案 > 使用函数计算并显示从1到用户在python中输入的数字的所有数字的平均值

问题描述

我在这里卡住了,请帮忙。代码必须提示用户输入数字,将数字传递给 python 函数,并让函数计算从 1 到用户输入的数字的所有数字的平均值。


def SumAverage(n):
    sum=0
    for idx in range(1,n+1):
        average =sum/idx 
    return average


num =int(input("Enter a number"))
result=SumAverage(num)
print("The average of all numbers from 1 to {} is {}".format(num,result))

标签: pythonfunction

解决方案


用户输入数字1 + 2 + 3 + ... + n的系列之和为:n

n(n+1)/2(参见wikipedia.org/wiki/1+2+3+4+...

我们有一个集合的平均值S是元素的总和S除以2

因此,您的应用程序的平均值的实现是:

def SumAverage(n):
    return (n * (n+1))/(n*2)

这具有 O(1) 的额外好处。


推荐阅读