求输入n个数的平均数python

Python038

求输入n个数的平均数python,第1张

n = int(input("请输入数量"))

sum1 = 0

i = 1

while i <= n:

node = float(input("请输入数"))

sum1 = sum1 + node

i ++

print(sum1/n)

int防止了整形溢出的问题。

int用较大的数减去较小的数然后除以2在加到较小的那个数上可以得到两个数的平均值,很好的防止了整形溢出的问题。

float将两个数的二进制位分为相同部分和不同部分,利用按位与求出相同部分的平均数,然后再用异或求出不同部分的平均数,加起来就是两个数的平均数。

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循环。