python二级第一套答案

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

《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络版本文件,文件名为“命运. txt”。

问题1 (5分) :在PY301-1. py文件中修改代码,对“命运. txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次,字符与频次之间采用英文冒号”:”分隔,示例格式如下:

理:224.

问题2 (5分) :在PY301-2. py文件中修改代码,对“命运. txt”文件进行字符频次统计,按照频次由高到低,屏幕输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,示例格式如下:

理斯卫… (后略,共10个字符)

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

理:224,斯:120,卫:100

提示:建议使用本机提供的Python集成开发环境IDLE编写、 调试及验证程序。

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

f = open('命运.txt','r')
txt = f.read()
d = {}
for i in txt:
    if i not in ",。?!《》【】“”‘’":
        d[i] = d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse = True)
print("{}:{}".format(ls[0][0],ls[0][1]))
f.close()

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

f = open('命运.txt','r')
txt = f.read()
d = {}
for i in txt:
    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):
    print(ls[k][0],end='')
f.close()

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

f = open('命运.txt','r')
fi = open('命运-频次排序.txt','w')
txt = f.read()
d = {}
for i in txt:
    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) # 此行可以按照词频由高到低排序
s=""
for k in ls:
    s+="{}:{}".format(k[0],k[1])+','
fi.write(s[:-1])
f.close()
fi.close()

你可能感兴趣的:(python,java,linux,c++,大数据)