#请在...补充一行或多行代码#CalStatisticsV1.pydefgetNum():#获取用户不定长度的输入
Num_ =input()
Num =list(eval(Num_))return Num
defmean(numbers):#计算平均值
s =0.0for i in numbers:
s = s + i
return s/len(numbers)defdev(numbers, mean):#计算标准差
sdev =0.0for num in numbers:
sdev = sdev +(num - mean)**2returnpow(sdev /(len(numbers)-1),0.5)defmedian(numbers):#计算中位数
numbers.sort()
size =len(numbers)if size %2==0:
med =(numbers[size//2-1]+ numbers[size//2])/2else:
med = numbers[size//2]return med
n = getNum()#主体函数
m = mean(n)print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,dev(n,m),median(n)))
二:文本词频统计–Hamlet
#请在...处补充代码defgetText():
txt =open("hamlet.txt","r").read()
txt = txt.lower()for ch in'!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
txt = txt.replace(ch," ")#将文本中特殊字符替换为空格return txt
hamletTxt = getText()
words = hamletTxt.split()
counts ={}for word in words:
counts[word]= counts.get(word,0)+1
items =list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)for i inrange(10):
word, count = items[i]# print ("{0:<10}{1:>5}".format(word, count)) 输出出现最多的10个单词和其出现次数print(word)
s =input()try:
d =eval(s)
e ={}for k in d:
e[d[k]]= k
print(e)except:print("输入错误")
五:《沉默的羔羊》之最多单词
import jieba
txt =open("沉默的羔羊.txt", encoding='utf-8').read()
words = jieba.lcut(txt)#精确模式分词,返回一个列表类型
d ={}#建立一个空字典,用来存放键值对数据for word in words:
d[word]= d.get(word,0)+1#如果这个词语(键)在字典中,其值+1,不在则赋以0
maxc =0
maxw =""for key in d:if d[key]> maxc andlen(key)>2:
maxc = d[key]#次数
maxw = key #单词if d[key]== maxc andlen(key)>2and key > maxw:#出现频率一致,按照Unicode排序
maxw = key
print(maxw)
练习七:文件和数据格式化
一:文件行数
f =open("latex.log")
s =0for line in f:
line = line.strip('\n')iflen(line)==0:continue
s +=1print("共{}行".format(s))
二:文件字符分布
f =open("latex.log")
cc =0
d ={}for i inrange(26):
d[chr(ord('a')+i)]=0for line in f:for c in line:
d[c]= d.get(c,0)+1
cc +=1print("共{}字符".format(cc), end="")for i inrange(26):if d[chr(ord('a')+i)]!=0:print(",{}:{}".format(chr(ord('a')+i), d[chr(ord('a')+i)]), end="")
三:文件独特行数
f =open("latex.log")
ls = f.readlines()
s =set(ls)for i in s:
ls.remove(i)
t =set(ls)print("共{}独特行".format(len(s)-len(t)))
四:CSV格式列变换
f =open("data.csv")
line = f.readlines()for i in line:
i = i.replace('\n',"")
a = i.split(",")
a.reverse()print(",".join(a))
五:CSV格式数据清洗
# f = open("data.csv")# s = f.read()# s = s.replace(" ","")# print(s)# f.close()
f =open("data.csv")
s = f.read()
s = s.replace(" ","")print(s)
f.close()