考生文件夹下存在3个Python源文件,分别对应3个问题: 1个文本文件,作为本题目输入数据,请按
照源文件内部说明修改代码,实现以下功能:
《卖火 柴的小女孩》是丹麦童话故事作家安徒生的一篇童话故事,发表于1846年。主要讲了一个卖火柴
的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络
版本文件,文件名为“小女孩. txt”。
问题1:在PY301-1. py文件中修改代码,对“小女孩. txt”文件进行字符频次统计,输出频次最高的中文
字符(不包含标点符号)及其频次,将输出结果保存在考生文件夹下,命名为“PY301-1. txt”。字符与频次
之间采用英文冒号“:”分隔,示例格式如下:
的:83
问题2:在PY301-2. py文件中修改代码,对“小女孩. txt”文件进行字符频次统计,按照频次由高到低,
输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹.
下,命名为“PY301-2. txt”。示例格式如下:
,的-…(后略,共10个字符)
问题3:在PY301-3. py文件中修改代码,对“小女孩. txt”文件进行字符频次统计,将所有字符按照频次
从高到低排序,字符包括中文、标点、英文等符号,但不包含空格和回车。将排序后的字符及频次输出到考
生文件夹下,文件名为“小女孩-频次排序. txt”。字符与频次之间要用英文冒号“:”分隔,各字符之间采
用英文逗号“,”分隔,参考CSV格式,最后无逗号,文件内部示例格式如下:
着:30,那:29,火:29
完整答案问题1代码:
fi=open("小女孩.txt","r") fo = open("PY301-1.txt","w") s=fi.read() fi.close() d = {} exclude=',。!?、()【】<>《》=:+-*— ""…, ' for i in s: if i not in exclude: d[i]=d.get(i,0)+1 ls=list(d.items()) ls.sort(key=lambda x:x[1],reverse=True) fo.write("{}:{}".format(ls[0][0],ls[0][1])) fo.close()
完整答案问题2代码:
fi=open("小女孩.txt","r") fo = open("PY301-2.txt","w") s=fi.read() fi.close() d = {} exclude='\n' for i in s: if i not in exclude: d[i]=d.get(i,0)+1 ls = list(d.items()) ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序 for i in range(10): fo.write("{}".format(ls[i][0])) fo.close()
完整答案问题3代码:
fi=open("小女孩.txt","r") fo = open("小女孩-频次排序.txt","w") s=fi.read() fi.close() d = {} exclude=' \n' for i in s: if i not in exclude: d[i]=d.get(i,0)+1 ls = list(d.items()) ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序 for i in range(len(ls)): ls[i]="{}:{}".format(ls[i][0],ls[i][1]) fo.write(",".join(ls)) fo.close()
视频详解
参考全国计算机二级Python全程班+送题库+全程辅导+考过为止
《 阿福课堂官方网站》免责声明:
1、因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:1225682794@qq.com。