编程求列表s=[9,7,8,3,2,1,55,6]中的元素个数、最大值、最小值、元素之和、平均值。要求:不能使用max(x) , min(x) , sum(x)这几个函数。分别用for和while实现,保存为74a.py和74b.py。
while循环用得很少,不知道该怎么去写,
while 只要加上判断及退出的条件,其它都一样
s=[9,7,8,3,2,1,55,6]
s_count=0
s_max=s[0]
s_min=s[0]
s_sum=s[0]
s_ave=s[0]
tmp = s[::-1]
while tmp: #tmp非空就循环继续
i = tmp.pop() #不断减少列表元素
s_count=s_count+1
s_sum=s_sum+i
if i > s_max:
s_max=i
if i < s_min:
s_min=i
s_ave=s_sum/s_count
print("count:",s_count)
print("sum:",s_sum)
print("max:",s_max)
print("ave:",s_ave)
print("min:",s_min)
s=[9,7,8,3,2,1,55,6]
s_count=0
s_max=s[0]
s_min=s[0]
s_sum=s[0]
s_ave=s[0]
for i in s:
s_count=s_count+1
s_sum=s_sum+i
if i > s_max:
s_max=i
if i < s_min:
s_min=i
s_ave=s_sum/s_count
print("count:",s_count)
print("sum:",s_sum)
print("max:",s_max)
print("ave:",s_ave)
print("min:",s_min)