MOOC《Python语言程序设计》第6周练习题

本周的课程重点介绍了Python中的组合数据类型,如集合、序列(元组和列表)和字典,并通过实际练习进行了应用,包括基本统计值计算和文本词频统计。此外,还讲解了jieba库在中文处理中的应用,使得处理中英文文本变得简单。练习涵盖了从数据输入、统计计算到文本处理的多个方面。
摘要由CSDN通过智能技术生成

这周讲解了组合数据类型,重点介绍表达和处理一组数据的方法,涉及到多种数据类型,包括:集合类型、序列类型(含元组类型和列表类型)和字典类型;讲解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

描述:

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值