如何用python编一个函数,对输入的任意多个数进行求平均值。任意多个数!

如题所述

lst = [] #定义一个空列表

str = raw_input("请输入数值,用空格隔开:")

lst1 = str.split(" ")#lst1用来存储输入的字符串,用空格分割

i = 0

while i <= len(lst1)+1:

lst.append(int(lst1.pop()))#将lst1的数据转换为整型并赋值给lst

i += 1

#print(lst)

def sum(list):

"对列表的数值求和"

s = 0

for x in list:

s += x

return s

def average(list):

"对列表数据求平均值

avg = 0

avg = sum(list)/(len(list)*1.0) #调用sum函数求和

return avg

print("avg = %f"%average(lst))

扩展资料:

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-06
def cal(numbers):
n=0
for i in numbers:
n=n+i
n=n/len(numbers)
return n
只要你输入一个列表就行了啊追问

谢谢,输入列表我也想到过。只是让别人用的时候让他们输入列表有点蠢,能不能更傻瓜化?让他们任意输入数字,然后按键盘上某个键,输出平均值。

第2个回答  2011-03-07
def b():
list1=[]
while 1:
a=input()
if a=='.':break
list1.append(eval(a))
avg=sum(list1)/len(list1)
return avg
输入‘.’作为结束本回答被提问者采纳
第3个回答  2011-03-06
avg = sum(list) / len(list)
相似回答