python - 使用函数计算并显示从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))
解决方案
用户输入数字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) 的额外好处。
推荐阅读
- c++ - While loop inside if-statement with the same condition inside?
- angular - How to Close Mat-select Panel when Mouse is out of the box?
- python - Anaconda Python 翻译
- java - javax.xml.transform.Transformer 的 setOutputProperty()、setParameter() 和 setURIResolver() 方法
- angular - Angular - 在选择中设置默认选项
- python - 如何对字典进行动态嵌套更新?
- sql - 创建与给定查询等效但不使用 CUBE 的替代查询
- openssl - openssl 命令中的“-inkey privateKey.key”是什么
- c# - ASP.net Core MVC 测试/使控制器返回一个字符串?
- mysql - 使用phpMyAdmin SQL查询的日期显示格式