**大学数学与信息工程学院《Python程序设计》实验报告
print(st)
2、提取附件中年龄大于20岁人员的姓名、年龄、性别;并进行二进制序列化存储和读取。
代码:
f=open(r'C:\Users\17458\Desktop\实验13附件.txt','r')
bbk=f.readlines()
ppk=''
f1=open(r'C:\Users\17458\Desktop\p.txt','a+')
for i in range(1,len(bbk)):
if int(bbk[i][9]+bbk[i][10])>20:
ppk=bbk[i][5:17]
f1.write(ppk+'\n')
f1.close()
3、安装第三方库jieba,编写程序统计《三国演义》中前5位出场最多的人物。
(在cmd命令行先安装jieba库,pip install jieba;如果utf-8编码不成功,采用“gb18030”编码格式)
代码:
import jieba
f1=open(r'C:\Users\17458\Desktop\三国演义.txt','r',encoding='gb18030')
others={'将军','却说','荆州','二人','不可','不能','如此','正是',\
'次日','徐州','洛阳'}
kkk=f1.read()
f1.close()
bbk=jieba.lcut(kkk)
counts={}
for word in bbk:
if len(word)==1:
continue
elif word=='孟德' or word =='丞相':
rword='曹操'
elif word=='诸葛亮' or word =='孔明曰':
rword='孔明'
elif word=='关公' or word =='云长':
rword='关羽'
elif word=='玄德' or word =='玄德曰':
rword='刘备'
else:
rword=word
counts[rword]=counts.get(rword,0)+1
for word in others:
del counts[word]
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(5):
word,count=items[i]
print(word,count)
4、(选做)使用Python第三方库wordcloud,并结合jieba的分词功能构建《三国演义》的词云效果图。
要求:(1)WordCloud参数中使用stopwords排除非人名,如:{'将军','却说','荆州','二人','不可','不能','如此','正是','次日','且看下文分解'},可以根据最初词云效果进行排除;(2)将"孔明曰" 、"关羽曰"等转换为相应的人名;(3)将默认词云形状改为chinamap形状(需要安装imageio 库)
访问https:///,搜索jieba和wordcloud,分别下载对应文件并安装。
jieba库安装:解压压缩包——进入到相应路径——python setup.py install
wordcloud库安装:pip install 对应包名。