这周讲解了组合数据类型,重点介绍表达和处理一组数据的方法,涉及到多种数据类型,包括:集合类型、序列类型(含元组类型和列表类型)和字典类型;讲解2个颇有用处的实例:基本统计值计算和文本词频统计,其中,即有英文Hamlet的词频统计,也有中文《三国演义》的人物出场统计;进一步讲解用于中文分词的jieba库,从此以后,处理中英文文本、做些统计分析将不再是问题!
练习1:基本统计值的计算(也就是课程中的实例9:基本统计值计算)
描述:
获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数),除中位数外,其他输出保留小数点后两位。
注意:
多个数据是一行输入,而不是教程中的多行输入
我的代码:
#第6周week6_1.py
#请在...补充一行或多行代码
#CalStatisticsV1.py
#获取以逗号分隔的多个数据输入(输入为一行),
def getNum(): #获取用户不定长度的输入
Nums=[]
iNumStr=input()
Nums = iNumStr.split(',')
for i in range(len(Nums)):
Nums[i]=eval(Nums[i])
return Nums
def mean(numbers): #计算平均值
s=0.0
for num in numbers:
s += num
return s/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): #计算中位数
nu=sorted(numbers)
num =len(numbers)
if num % 2 == 0:
med = (nu[num//2-1] +nu[num//2])/2
else:
med = nu[num//2]
return med
n = getNum() #主体函数
m = mean(n)
print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,dev(n,m),median(n)))
练习2:文本词频统计(英文版哈姆雷特)----教程中的实例10
描述: