python二级第十一套答案

该博客主要涉及Python编程,通过读取文本文件'背影.txt',实现了两个功能:一是统计并输出前10个频次最高的非空格、非回车字符;二是对所有非中文、非换行、非空格字符进行频次排序并输出。涉及到的编程技能包括文件操作、字符统计、排序等。
摘要由CSDN通过智能技术生成

python二级第十一套答案
46、考生文件夹下存在2个Python源文件,分别对应2个问题;1个文本文件,作为本题目输入数据,请按照源文件内部说明修改代码,实现以下功能:

《背影》是朱自清的代表作之一,这里给出《背影》的原文内容,文件名为“背影.txt”。

问题1(10分):在PY301-1.py文件中修改代码,对“背影.txt”文件进行字符频次统计, 按照频次由高到低,输出前10个频次最高的字符,不包含空格和回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹下,命名为“背影-高频词汇.txt”。示例格式如下:

,我。他的了不去是一

问题2 (10分):在PY301-2.py文件中修改代码,对“背影.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,不包含所有的中文字符、换行和空格。将排序后的字符及频次输出到考生文件夹下,文件名为“背影-频次排序.txt”。字符与频次之间采用英文冒号":“分隔,各字符之间采用英文逗号”,"分隔 ,最后无逗号,文件内部示例格式如下:

我:49,他:41,的:31,了:29,不:28,去:18,

# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准

f=open("背影.txt",'r',encoding='utf-8')
fo = open('背影-高频词汇.txt','w')
s = f.read()
d={}
for i in s:
    if i not in " \n":
        d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
for k in range(10):
    fo.write(ls[k][0])
fo.close()
f.close()

# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准

f=open("背影.txt",'r',encoding='utf-8')
fo = open('背影-频次统计.txt','w')
s = f.read()
lt = []
d={}
for i in s:
    if i not in " \n,。?、!“”‘’:":
        d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
for k in ls:
    lt.append("{}:{}".format(k[0],k[1]))
fo.write(','.join(lt))
fo.close()
f.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yk 坤帝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值