forked from Jokertion/MOOC
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCalStatisticV1.py
More file actions
35 lines (31 loc) · 984 Bytes
/
CalStatisticV1.py
File metadata and controls
35 lines (31 loc) · 984 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#CalStatisticV1.py
#基本统计值计算
#获得技能包1:从控制台获取多个不确定数据的方法
def getNum():
nums = []
iNumStr = input("请输入数字(回车退出): ")
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input("请输入数字(回车退出): ")
return nums
def mean(numbers): #计算平均数
s = 0.0
for num in numbers:
s = s + num
return s / len(numbers) #len(numbers):一组数的总个数
def dev(numbers, mean): #计算方差
sdev = 0.0
for num in numbers :
sdev = sdev + (num - mean)**2
return pow(sdev / (len(numbers)-1), 0.5)
def median(numbers): #计算中位数
sorted(numbers) #sorted(numbers): 对列表进行排序
size = len(numbers)
if size % 2 == 0:
med = (numbers[size//2-1] + numbers[size//2])/2
else:
med = numbers[size//2]
return med
n = getNum()
m=mean(n)
print ("平均值:{},方差:{:.2},中位数:{}.".format(m, dev(n,m), median(n)))