跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

二级Python考试综合应用题真题及参考代码

二级Python考试综合应用题真题及参考代码,涵盖文件读写、字符串处理、jieba分词统计等核心考点。内容包含多套模拟题素材与答案,重点展示如何完成数据清洗、词频分析及结果输出,适合备考人员练习文件操作与基础算法逻辑。

Ne0发布于 2026/3/29更新于 2026/6/318 浏览
二级Python考试综合应用题真题及参考代码

第1套题

图片

第1小问素材(PY301-1.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
for line in ______:
    ...
    fo.write('{},{},{},{}\n'.format(______))

第1小问答案(PY301-1.py)

fi = open("sensor.txt", "r", encoding="utf-8")
fo = open("earpa001.txt", "w")
for line in fi:
    ls = line.strip("\n").split(",")
    if ls[1].count("earpa001") > 0:
        fo.write('{},{},{},{}\n'.format(ls[0], ls[1], ls[2], ls[3]))
fi.close()
fo.close()

第2小问素材(PY301-2.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 该语句用于排序
...
fo.write('{},{}\n'.format(______))

第2小问答案(PY301-2.py)

fi = open("earpa001.txt", "r")
fo = open("earpa001_count.txt", "w")
d = {}
for line in fi:
    ls = line.strip("\n").split(",")
    m = ls[2] + "-" + ls[3]
    d[m] = d.get(m, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)
for i in range(len(ls)):
    fo.write('{},{}\n'.format(ls[i][0], ls[i][1]))
fi.close()
fo.close()

第2套题

图片

第1小问素材(PY301-1.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("论语.txt", ______)
fo = open("论语 - 原文.txt", ______)
...
for line in fi:
    ...
    line = line.strip(" \n")

第1小问答案(PY301-1.py)

fi = open("论语.txt", "r")
fo = open("论语 - 原文.txt", "w")
flag = False
for line in fi:
    if "【原文】" in line:
        flag = True
        continue
    if "【注释】" in line:
        flag = False
    line = line.strip(" \n")
    if flag:
        if line:
            fo.write(line + "\n")
fi.close()
fo.close()

第2小问素材(PY301-1.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("论语 - 原文.txt", ______)
fo = open("论语 - 提纯原文.txt", ______)
...
for line in fi:
    ...
    line = line.replace(______)

第2小问答案(PY301-1.py)

fi = open("论语 - 原文.txt", "r")
fo = open("论语 - 提纯原文.txt", "w")
for line in fi:
    for i in range(0, 30):
        line = line.replace('({})'.format(i), '')
    fo.write(line)
fi.close()
fo.close()

第3套题

图片

图片

第1小问素材(PY301-1.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
ls = []
...
print("{}的生日位于{}-{}之间".format(______))

第1小问答案(PY301-1.py)

f = open("PY301-SunSign.csv")
name = input("请输入星座中文名称")
for line in f.read().split("\n"):
    ls = []
    if name in line:
        ls = line.split(",")
print("{}的生日位于{}-{}之间".format(ls[1], ls[2], ls[3]))
f.close()

第2小问素材(PY301-2.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
ls = []
...
print("{}({})的生日是{}月{}日至{}月{}日之间".format(______))

第2小问答案(PY301-2.py)

f = open("py301-sunsign.csv", "r")
x = input("请输入星座序号(例如,5):")
ls = []
for line in f:
    ls.append(line.strip('\n').split(','))
num = x.split()
for i in num:
    for row in ls:
        if row[0] == i:
            if len(row[2]) == 3:
                m1 = row[2][0]
                d1 = row[2][1:3]
            else:
                m1 = row[2][0:2]
                d1 = row[2][2:4]
            if len(row[3]) == 3:
                m2 = row[3][0]
                d2 = row[3][1:3]
            else:
                m2 = row[3][0:2]
                d2 = row[3][2:4]
            print("{}({})的生日是{}月{}日至{}月{}日之间".format(row[1], row[4], m1, d1, m2, d2))
f.close()

第3小问素材(PY301-3.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
ls = []
...
print("{}({})的生日是{}月{}日至{}月{}日之间".format(______))
...
if flag == False:
    print("输入星座序号有误!")

第3小问答案(PY301-3.py)

f = open("py301-sunsign.csv", 'r')
ls = []
for line in f:
    ls.append(line.strip(' \n').split(','))
f.close()
x = input("请输入星座序号(例如,5):")
num = x.strip(' \n').split()
for i in num:
    if 0 < int(i) < len(ls):
        for row in ls:
            if row[0] == i:
                m1 = row[2][0] if len(row[2]) == 3 else row[2][0:2]
                d1 = row[2][1:3] if len(row[2]) == 3 else row[2][2:4]
                m2 = row[3][0] if len(row[2]) == 3 else row[3][0:2]
                d2 = row[3][1:3] if len(row[2]) == 3 else row[3][2:4]
                print("{}({})的生日是{}月{}日至{}月{}日之间".format(row[1], row[4], m1, d1, m2, d2))
    else:
        print("输入星座序号有误!")

第4套题

图片

第1小问素材(PY301-1.py)

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

第1小问答案(PY301-1.py)

f = open('命运.txt', 'r')
d = {}
for i in f.read():
    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()

第2小问素材(PY301-2.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 此行可以按照词频由高到低排序

第2小问答案(PY301-2.py)

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

第3小问素材(PY301-3.py)

# 以下代码为提示框架,请在...处使用一行或多行代码替换
# 注意:提示框架代码可以任意修改,以完成程序功能为准
...
d = {}
...
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 此行可以按照词频由高到低排序

第3小问答案(PY301-3.py)

f = open('命运.txt', 'r')
fi = open('命运 - 频次排序.txt', 'w')
d = {}
for i in f.read():
    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()

第5套题

图片

第1小问素材(PY301-1.py)

# 请在______处使用一行代码或表达式替换
# 注意:请不要修改其他已给出代码
import jieba
f = open('data.txt', 'r')
lines = f.readlines()
f.close()
f = open('out.txt', 'w')
for line in lines:
    line = ______(1)______  # 删除每行首尾可能出现的空格
    wordList = ______(2)______  # 用结巴分词,对每行内容进行分词
    f.writelines('\n'.______(3)______)  # 将分词结果存到文件 out.txt 中
f.close()

第1小问答案(PY301-1.py)

import jieba
f = open('data.txt', 'r')
lines = f.readlines()
f.close()
f = open('out.txt', 'w')
for line in lines:
    line = line.strip(' ')  # 删除每行首尾可能出现的空格
    wordList = jieba.lcut(line)  # 用结巴分词,对每行内容进行分词
    f.writelines('\n'.join(wordList))  # 将分词结果存到文件 out.txt 中
f.close()

第2小问素材(PY301-2.py)

# 请在______处使用一行代码或表达式替换
# 注意:请不要修改其他已给出代码
import jieba
f = open('out.txt', 'r')  # 以读的方式打开文件
words = f.readlines()
f.close()
D = {}
for w in _______(1)_________:  # 词频统计
    D[w[:-1]] = _______(2)_________ + 1
print("曹操出现次数为:{} ".format(_______(3)_________))

第2小问答案(PY301-2.py)

import jieba
f = open('out.txt', 'r')  # 以读的方式打开文件
words = f.readlines()
f.close()
D = {}
for w in words:  # 词频统计
    D[w[:-1]] = D.get(w[:-1], 0) + 1
print("曹操出现次数为:{} ".format(D["曹操"]))

第6套题

图片

第1小问素材(PY301-1.py)

# 请在...处使用多行代码替换
# 注意:其他已给出代码仅作为提示,可以修改
# 此处可多行
f = open('out1.txt', 'w')
...
# 此处可用多行
f.close()

第1小问答案(PY301-1.py)

import jieba
fi = open('data.txt', 'r')
f = open('out1.txt', 'w')
words = []
for line in fi.readlines():
    line = line.strip('\n')
    wordlist = jieba.lcut(line)  # 每一行都是一个 list,并且 list 里已经分词
    for word in wordlist:
        if len(word) >= 3 and (word not in words):
            words.append(word)
for word in words:
    f.write(word + '\n')
fi.close()
f.close()

第2小问素材(PY301-2.py)

# 请在...处使用多行代码替换
# 注意:其他已给出代码仅作为提示,可以修改
...
# 此处可多行
d = {}
...
# 此处可多行
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 此行可以按照词频由高到低排序
...
# 此处可多行

第2小问答案(PY301-2.py)

import jieba
fi = open('data.txt', 'r')
fo = open('out2.txt', 'w')
words = []
for line in fi.readlines():
    line = line.strip('\n')
    wordlist = jieba.lcut(line)  # 每一行都是一个 list,并且 list 里已经分词
    for word in wordlist:
        if len(word) >= 3:
            words.append(word)
d = {}
for word in words:
    d[word] = d.get(word, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)  # 此行可以按照词频由高到低排序
s = ''
for i in ls:
    s = '{}:{}\n'.format(i[0], i[1])
    fo.write(s)
fi.close()
fo.close()

第7套题

图片

第1小问素材(PY301-1.py)

# 请在...处使用多行代码替换
# 注意:其他已给出代码仅作为提示,可以修改
L = []  # L 中的元素是学生原始成绩和总成绩
...
# 此处可多行
L.sort(key=lambda x: x[-1], reverse=True)  # 按学生总成绩从大到小排序
...
# 此处可多行

第1小问答案(PY301-1.py)

fi = open("score301.txt")
L = []
for f in fi:
    st = f.strip("\n").split()
    grade = sum(list(map(lambda x: eval(x), st[2:])))
    st.append(grade)
    L.append(st)
L.sort(key=lambda x: x[-1], reverse=True)
fo = open("cand301.txt", "w")
for s in L[0:10]:
    fo.write(" ".join(s[:-1]) + "\n")
fi.close()
fo.close()

第2小问素材(PY301-2.py)

''' 输入文件:cand301.txt 输出文件:best301.txt '''

第2小问答案(PY301-2.py)

''' 输入文件:cand301.txt 输出文件:best301.txt '''
fi = open("cand301.txt", "r")
fo = open("best301.txt", "w")
for i in fi:
    s = i.strip("\n").split()
    if min(list(map(lambda x: eval(x), s[2:]))) >= 60:
        fo.write(" ".join(s[:2]) + "\n")
fi.close()
fo.close()

第8套题

图片

第1小问素材(PY301-1.py)

# 请在______处使用一行或多行代码替换
# 注意:其他已给出代码仅作为提示,可以修改
____________  # 此处可多行
f = open("univ.txt", "w")
____________  # 此处可多行
f.close()

第1小问答案(PY301-1.py)

fo = open('data.txt', 'r')
lines = fo.read().split('\n')
fo.close()
L = []
for line in lines:
    if "alt=" in line:
        L.append(line)
S = []
for line in L:
    point_start = line.find('alt=') + 5
    point_end = line.find('"', point_start, -1)
    S.append(line[point_start:point_end])
f = open("univ.txt", "w")
for school in S:
    f.write(school)
    f.write('\n')
f.close()

第2小问素材(PY301-2.py)

# 请在______处使用一行或多行代码替换
# 注意:其他已给出代码仅作为提示,可以修改
n = 0
f = open("univ.txt", "r")
____________  # 此处可多行
f.close()
print("包含大学的名称数量是{}".format(n))

第2小问答案(PY301-2.py)

n = 0
k = 0
f = open("univ.txt", "r")
lines = f.read().split('\n')
f.close()
for school in lines:
    if (("大学" in school) or ("学院" in school)) and ("大学生" not in school):
        print(school)
    if "大学" in school:
        n += 1
    elif "学院" in school:
        k += 1
print("包含大学的名称数量是{}".format(n))
print("包含学院的名称数量是{}".format(k))

第9套题

图片

第1小问素材(PY301-1.py)

# # 以下代码仅供参考。
# d = {} lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)

第1小问答案(PY301-1.py)

import jieba
f2018 = open('data2018.txt', 'r')
line2018 = f2018.read().split('\n')
f2018.close()
f2019 = open('data2019.txt', 'r')
line2019 = f2019.read().split('\n')
f2019.close()
d = {}
for i in line2018:
    word = jieba.lcut(i)
    for j in word:
        if len(j) >= 2:
            d[j] = d.get(j, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
print('2018:', end='')
for i in range(9):
    print('{}:{}'.format(lt[i][0], lt[i][1]), end='')
print(',', end='')
print('{}:{}'.format(lt[9][0], lt[9][1]))
d = {}
for i in line2019:
    word = jieba.lcut(i)
    for j in word:
        if len(j) >= 2:
            d[j] = d.get(j, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
print('2019:', end='')
for i in range(9):
    print('{}:{}'.format(lt[i][0], lt[i][1]), end='')
print(',', end='')
print('{}:{}'.format(lt[9][0], lt[9][1]))

第2小问素材(PY301-2.py)

# # 以下代码仅供参考。
# ...... d = {}
# ...... lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)
# ......

第2小问答案(PY301-2.py)

import jieba
f2018 = open('data2018.txt', 'r')
line2018 = f2018.read().split('\n')
f2018.close()
f2019 = open('data2019.txt', 'r')
line2019 = f2019.read().split('\n')
f2019.close()
d = {}
for i in line2018:
    word = jieba.lcut(i)
    for j in word:
        if len(j) >= 2:
            d[j] = d.get(j, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
ls2018 = []
for i in range(10):
    ls2018.append(lt[i][0])
d = {}
for i in line2019:
    word = jieba.lcut(i)
    for j in word:
        if len(j) >= 2:
            d[j] = d.get(j, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
ls2019 = []
for i in range(10):
    ls2019.append(lt[i][0])
lslike = []
for i in ls2018:
    if i in ls2019:
        lslike.append(i)
for i in lslike:
    ls2018.remove(i)
    ls2019.remove(i)
print('共有词语:', end='')
for i in lslike[:-1]:
    print(i, end=',')
print(lslike[-1])
print('2019特有:', end='')
for i in ls2019[:-1]:
    print(i, end=',')
print(ls2019[-1])
print('2018特有:', end='')
for i in ls2018[:-1]:
    print(i, end=',')
print(ls2018[-1])

第10套题

图片

第1小问素材(PY301-1.py)

# # 以下代码仅供参考。
# ......

第1小问答案(PY301-1.py)

import jieba
f = open('data.txt', 'r')
data = f.read()
f.close()
f = open('clean.txt', 'w')
s = ''
x = ',。?、'''';:、)\n(!'
for i in data:
    if i not in x:
        s += i
f.write(s)
f.close()

第2小问素材(PY301-2.py)

# # 以下代码仅供参考。
# import jieba d = {} lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)

第2小问答案(PY301-2.py)

import jieba
f = open('clean.txt', 'r')
data = f.read()
l = jieba.lcut(data)
d = {}
for i in l:
    if len(i) >= 3:
        d[i] = d.get(i, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
for i in lt[:9]:
    print(i[0], ':', i[1], end=',', sep='')
print(lt[9][0], ':', lt[9][1], sep='')
f.close()

第11套题

图片

例题素材(PY301.py)

# 请在......处写多行代码
# 建议不修改其他代码
import jieba
fp = open("红楼梦.txt", encoding='utf-8')
ss = fp.read()
fp.close()
......
print(cnt)
......
print(len(dc))
......
lt.sort(key=lambda x:x[1], reverse=True)
for x in lt[0:2]:
    ......

参考答案(PY301.py)

import jieba
fp = open("红楼梦.txt", encoding='utf-8')
ss = fp.read()
fp.close()
point = ",。:;?"
cnt = 0
for i in ss:
    if i in point:
        cnt += 1
print(cnt)
words = jieba.lcut(ss)
dc = []
for i in words:
    if len(i) >= 2:
        dc.append(i)
dc1 = set(dc)
print(len(dc1))
d = {}
for i in dc:
    d[i] = d.get(i, 0) + 1
lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
for x in lt[0:2]:
    print("{},{}".format(x[0], x[1]))

第12套题

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
import jieba
fs = open("八十天环游地球.txt", "r")
lss = fs.readlines()
____________
dels=' "?!:,。'
lens = 0
for lr in lss:
    ……
print("共{}个非空行".format(lens))
alens = 0
wlens = 0
for lr in lss:
    ……
print("剩余字符数{}, 词语数{}".format(alens, wlens))
fo = ____________
for lr in lss:
    ……
fo.close()

参考答案(PY301.py)

import jieba
fs = open("八十天环游地球.txt", "r")
lss = fs.readlines()
dels=' "?!:,。'
lens = 0
new_list = []
for lr in lss:
    if lr != "\n":
        lens += 1
    new_str = ""
    for i in range(len(lr)):
        if lr[i] in dels:
            pass
        else:
            new_str += lr[i]
    new_list.append(new_str)
print("共{}个非空行".format(lens))
alens = 0
wlens = 0
word_list = []
for lr in lss:
    alens += len(lr)
    words = jieba.lcut(lr)
    for i in words:
        word_list.append(i)
    wlens = len(word_list)
print("剩余字符数{}, 词语数{}".format(alens, wlens))
fo = open("八十天环游地球 - 章节.txt", "w")
for lr in lss:
    if "章 " in lr:
        fo.write(lr)
fo.close()

第13套题

图片

例题素材(PY301.py)

## 在……上补充一行或多行代码
# 可修改其他代码
#第一问:统计素材文件中学生人数
f1=open('data301.txt','rt')
stu_lst=……
……
#第二问:计算所有学生的平均分
stu_dic={}
for stu_str in stu_lst:
    if'\n'in stu_str: stu_str=stu_str.replace('\n','')
    stu=stu_str.split(':')
    name=stu[0]
    score=stu[1].split(',')[1]
    ……
    avg=sum([int(score)for score in stu_dic.values()])/len(stu_dic)
    ……
#第三问:输出学生分数信息到result文件中
name_score=list(stu_dic.items())
……
name_score_lst=[item[0]+","+item[1]+"\n"for item in name_score]
f2=open('result301.txt','wt')
……
f2.close()

参考答案(PY301.py)

# 可修改其他代码
#第一问:统计素材文件中学生人数
f1 = open('data301.txt', 'rt')
stu_lst = f1.readlines()
print("素材文件中学生的人数是{}".format(len(stu_lst)))
f1.close()
#第二问:计算所有学生的平均分
stu_dic = {}
for stu_str in stu_lst:
    if '\n' in stu_str:
        stu_str = stu_str.replace('\n', '')
    stu = stu_str.split(':')
    name = stu[0]
    score = stu[1].split(',')[1]
    stu_dic[name] = score
avg = sum([int(score) for score in stu_dic.values()]) / len(stu_dic)
print("所有学生的平均分是{:.1f}".format(avg))
#第三问:输出学生分数信息到 result 文件中
name_score = list(stu_dic.items())
name_score_lst = [item[0] + "," + item[1] + "\n" for item in name_score]
f2 = open('result301.txt', 'wt')
for i in name_score_lst:
    f2.write(i)
f2.close()

第14套题

图片

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
#  fi =open("data301.txt","r")
ss=___________
print(ss.count("<a"))
fi.seek(0)
count = 0
ls = []
flag = 0
……
fi.close()
print(count)
fp =open("images.txt","w")
……
fp.close()

参考答案(PY301.py)

# 可修改其他代码
fi = open("data301.txt", "r")
ss = fi.read()
print(ss.count("<a"))
fi.seek(0)
count = 0
ls = []
flag = 0
for i in ss.split("\n"):
    if ".JPG" in i:
        count += 1
fi.close()
print(count)
fp = open("images.txt", "w")
for i in ss.split("\n"):
    if ".JPG" in i:
        start_point = i.find("http://")
        end_point = i.find(".JPG")
        fp.write(i[start_point:end_point+4] + "\n")
fp.close()

第15套题

图片

例题素材(PY301.py)

## 在……上补充一行或多行代码
# 可修改其他代码
# stop_word=['我们','同时','之后','更好','这些','进行']
#第一问:读文件,统计文件中的字符数
f1=open('data301.txt','rt')
……
#第二问:统计词频,输出长度大于1的词的个数,排除特殊词
import jieba
……
for word in txt_wordslist:
    ……
print("长度大于1且不相同的词的个数是{}。".format(len(word_count.items())))
……
wordlist.sort(key=lambda x:x[1],reverse=True)
……
print("词频最大的词是:{}".format(topword))
#第三问:将长度大于1并且词频最大的词所在的句子,排除特殊词
sentence_list=txt.split('。')
……
for sentence in sentence_list:
    if topword in sentence:
        ……

参考答案(PY301.py)

# 可修改其他代码
# stop_word=['我们','同时','之后','更好','这些','进行']
#第一问:读文件,统计文件中的字符数
f1 = open('data301.txt', 'rt')
txt = f1.read()
print("素材文件字符个数是{}。".format(len(txt)))
f1.close()
#第二问:统计词频,输出长度大于1的词的个数,排除特殊词
import jieba
txt_wordslist = jieba.lcut(txt)
count = 0
word_count = {}
for word in txt_wordslist:
    if (len(word) > 1) and (word not in stop_word):
        word_count[word] = word_count.get(word, 0) + 1
print("长度大于1且不相同的词的个数是{}。".format(len(word_count.items())))
wordlist = list(word_count.items())
wordlist.sort(key=lambda x: x[1], reverse=True)
for i in wordlist:
    if i[0] not in stop_word:
        topword = i[0]
        break
print("词频最大的词是:{}".format(topword))
#第三问:将长度大于1并且词频最大的词所在的句子,排除特殊词
sentence_list = txt.split('。')
fo = open("out301.txt", "w")
for sentence in sentence_list:
    if topword in sentence:
        fo.write(sentence + "\n")
fo.close()

第16套题

图片

图片

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
# fi =open("data301.txt","r")
dc = {}
name = ''
count = 0
flag = 1
for line in fi:
    if '"name":'in line:
        name = line.____________[1].strip(' ,"\n')
        flag = 1
    elif '"value":'in line and flag == 1:
        dx = int(line.split(':')[1].strip(' \n'))
        dc[name] = dx
        flag = 0
    ____________
fi.close()
print("一共有{}个国家".format(count))
……
print("确诊人数最多的国家是{},人数是{}".format(____________))
lw = 0
lz = 0
……
print("确诊人数超过1W的国家有{}个".format(lw))
print("确诊人数为0的国家有{}个".format(lz))

参考答案(PY301.py)

# 可修改其他代码
fi = open("data301.txt", "r")
dc = {}
name = ''
count = 0
flag = 1
for line in fi:
    if '"name":' in line:
        name = line.split(':')[1].strip(' ,"\n')
        flag = 1
    elif '"value":' in line and flag == 1:
        dx = int(line.split(':')[1].strip(' \n'))
        dc[name] = dx
        flag = 0
        count += 1
fi.close()
print("一共有{}个国家".format(count))
lt = list(dc.items())
lt.sort(key=lambda x: x[1], reverse=True)
print("确诊人数最多的国家是{},人数是{}".format(lt[0][0], lt[0][1]))
lw = 0
lz = 0
for i in lt:
    if i[1] >= 10000:
        lw += 1
    elif i[1] == 0:
        lz += 1
print("确诊人数超过1W的国家有{}个".format(lw))
print("确诊人数为0的国家有{}个".format(lz))

第17套题

图片

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
# 可以修改其他代码
## 问题 1:withopen("data301.csv","r")as f: lines=____________
for i inrange(5):
    print(lines[i])
# 问题 2:deftotal(lst):sum=0
for i in lst:
    sum+=i
returnsum
yslst=[]
zzlst=[]
zylst=[]
for line in lines[1:]:
    lst=line.split(',')
    ……
print('统计,疑似,重症,治愈')
print('总数,{}, {}, {}'.format(total(yslst),total(zzlst),total(zylst)))
print('最大值,{}, {}, {}'.format(max(yslst),max(zzlst),max(zylst)))
# 问题 3: d={}
ls=[]
for line in lines[1:]:
    lst=line.split(',')
    d[lst[0]]=eval(lst[1])
    ……
for line in l:
    ……
print(','.join(ls))

参考答案(PY301.py)

# 可以修改其他代码
## 问题 1:
with open("data301.csv", "r") as f:
    lines = f.read().split("\n")
for i in range(5):
    print(lines[i])
## 问题 2:
def total(lst):
    sum_val = 0
    for i in lst:
        sum_val += i
    return sum_val

yslst = []
zzlst = []
zylst = []
for line in lines[1:]:
    lst = line.split(',')
    if lst != [""]:
        yslst.append(eval(lst[1]))
        zzlst.append(eval(lst[2]))
        zylst.append(eval(lst[3]))
print('统计,疑似,重症,治愈')
print('总数,{}, {}, {}'.format(total(yslst), total(zzlst), total(zylst)))
print('最大值,{}, {}, {}'.format(max(yslst), max(zzlst), max(zylst)))
## 问题 3:
d = {}
ls = []
for line in lines[1:-1]:
    lst = line.split(',')
    d[lst[0]] = eval(lst[1])
l = list(d.items())
l.sort(key=lambda x: x[1], reverse=True)
avg = total(yslst) / (len(lines) - 2)
for line in l:
    if line[1] > avg:
        ls.append(line[0])
print(','.join(ls))

第18套题

图片

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
# 可以修改其他代码
import jieba
fs = open("data301.txt", "r")
lss = fs.read()
fs.close()
for c in",。?!:":
    print('"{}"的个数为{}个'.format(____________))
ds = {}
words=jieba.lcut(lss)
for w in words:
    ……
for i inrange(2,6):
    print('{}字词有{}个'.format(____________))
    ……

参考答案(PY301.py)

# 可以修改其他代码
import jieba
fs = open("data301.txt", "r")
lss = fs.read()
fs.close()
for c in ",。?!:":
    print('"{}"的个数为{}个'.format(c, lss.count(c)))
ds = {}
words = jieba.lcut(lss)
for w in words:
    ds[len(w)] = ds.get(len(w), [])
    ds[len(w)].append(w)
for i in range(2, 6):
    print('{}字词有{}个'.format(i, len(ds[i])))
    ls = ds[i]
    d = {}
    for j in ls:
        d[j] = d.get(j, 0) + 1
    lt = list(d.items())
    lt.sort(key=lambda x: x[1], reverse=True)
    print(lt[0][0])

第19套题

图片

例题素材(PY301.py)

## 在____________上补充代码
# 在……上补充一行或多行代码
# 可修改其他代码
import jieba
fs = open("data301.txt", "r")
lss = fs.readlines()
fs.close()
lens = 0
for lr in lss:
    if lr != "\n":
        lens += 1
print("共{}个非空行。".format(lens))
ts = {}
for lr in lss:
    if lr.strip() != "":
        words = lr.strip().split(":")
        ts[words[0]] = ts.get(words[0], [])
        ts[words[0]].append(words[1])
names = ts.keys()
print("共{}个人发言:{}".format(len(ts), ",".join(names)))
for r in ts.keys():
    words = []
    for i in ts[r]:
        words += jieba.lcut(i)
    d = {}
    for i in words:
        if len(i) > 1:
            d[i] = d.get(i, 0) + 1
    lt = list(d.items())
    lt.sort(key=lambda x: x[1], reverse=True)
    print("{}说了{}个词,最多的词是:{}".format(r, len(lt), lt[0][0]))

参考答案(PY301.py)

# 可修改其他代码
import jieba
fs = open("data301.txt", "r")
lss = fs.readlines()
fs.close()
lens = 0
for lr in lss:
    if lr != "\n":
        lens += 1
print("共{}个非空行。".format(lens))
ts = {}
for lr in lss:
    if lr.strip() != "":
        words = lr.strip().split(":")
        ts[words[0]] = ts.get(words[0], [])
        ts[words[0]].append(words[1])
names = ts.keys()
print("共{}个人发言:{}".format(len(ts), ",".join(names)))
for r in ts.keys():
    words = []
    for i in ts[r]:
        words += jieba.lcut(i)
    d = {}
    for i in words:
        if len(i) > 1:
            d[i] = d.get(i, 0) + 1
    lt = list(d.items())
    lt.sort(key=lambda x: x[1], reverse=True)
    print("{}说了{}个词,最多的词是:{}".format(r, len(lt), lt[0][0]))

目录

  1. 第1套题
  2. 第1小问素材(PY301-1.py)
  3. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  4. 注意:提示框架代码可以任意修改,以完成程序功能为准
  5. 第1小问答案(PY301-1.py)
  6. 第2小问素材(PY301-2.py)
  7. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  8. 注意:提示框架代码可以任意修改,以完成程序功能为准
  9. 第2小问答案(PY301-2.py)
  10. 第2套题
  11. 第1小问素材(PY301-1.py)
  12. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  13. 注意:提示框架代码可以任意修改,以完成程序功能为准
  14. 第1小问答案(PY301-1.py)
  15. 第2小问素材(PY301-1.py)
  16. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  17. 注意:提示框架代码可以任意修改,以完成程序功能为准
  18. 第2小问答案(PY301-1.py)
  19. 第3套题
  20. 第1小问素材(PY301-1.py)
  21. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  22. 注意:提示框架代码可以任意修改,以完成程序功能为准
  23. 第1小问答案(PY301-1.py)
  24. 第2小问素材(PY301-2.py)
  25. 以下代码为提示框架,请在...处使用一行或多行代码替换
  26. 注意:提示框架代码可以任意修改,以完成程序功能为准
  27. 第2小问答案(PY301-2.py)
  28. 第3小问素材(PY301-3.py)
  29. 以下代码为提示框架,请在...处使用一行或多行代码替换
  30. 注意:提示框架代码可以任意修改,以完成程序功能为准
  31. 第3小问答案(PY301-3.py)
  32. 第4套题
  33. 第1小问素材(PY301-1.py)
  34. 以下代码为提示框架,请在...处使用一行或多行代码替换,请在______处使用一行代码替换
  35. 注意:提示框架代码可以任意修改,以完成程序功能为准
  36. 第1小问答案(PY301-1.py)
  37. 第2小问素材(PY301-2.py)
  38. 以下代码为提示框架,请在...处使用一行或多行代码替换
  39. 注意:提示框架代码可以任意修改,以完成程序功能为准
  40. 第2小问答案(PY301-2.py)
  41. 第3小问素材(PY301-3.py)
  42. 以下代码为提示框架,请在...处使用一行或多行代码替换
  43. 注意:提示框架代码可以任意修改,以完成程序功能为准
  44. 第3小问答案(PY301-3.py)
  45. 第5套题
  46. 第1小问素材(PY301-1.py)
  47. 请在______处使用一行代码或表达式替换
  48. 注意:请不要修改其他已给出代码
  49. 第1小问答案(PY301-1.py)
  50. 第2小问素材(PY301-2.py)
  51. 请在______处使用一行代码或表达式替换
  52. 注意:请不要修改其他已给出代码
  53. 第2小问答案(PY301-2.py)
  54. 第6套题
  55. 第1小问素材(PY301-1.py)
  56. 请在...处使用多行代码替换
  57. 注意:其他已给出代码仅作为提示,可以修改
  58. 此处可多行
  59. 此处可用多行
  60. 第1小问答案(PY301-1.py)
  61. 第2小问素材(PY301-2.py)
  62. 请在...处使用多行代码替换
  63. 注意:其他已给出代码仅作为提示,可以修改
  64. 此处可多行
  65. 此处可多行
  66. 此处可多行
  67. 第2小问答案(PY301-2.py)
  68. 第7套题
  69. 第1小问素材(PY301-1.py)
  70. 请在...处使用多行代码替换
  71. 注意:其他已给出代码仅作为提示,可以修改
  72. 此处可多行
  73. 此处可多行
  74. 第1小问答案(PY301-1.py)
  75. 第2小问素材(PY301-2.py)
  76. 第2小问答案(PY301-2.py)
  77. 第8套题
  78. 第1小问素材(PY301-1.py)
  79. 请在______处使用一行或多行代码替换
  80. 注意:其他已给出代码仅作为提示,可以修改
  81. 第1小问答案(PY301-1.py)
  82. 第2小问素材(PY301-2.py)
  83. 请在______处使用一行或多行代码替换
  84. 注意:其他已给出代码仅作为提示,可以修改
  85. 第2小问答案(PY301-2.py)
  86. 第9套题
  87. 第1小问素材(PY301-1.py)
  88. # 以下代码仅供参考。
  89. d = {} lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)
  90. 第1小问答案(PY301-1.py)
  91. 第2小问素材(PY301-2.py)
  92. # 以下代码仅供参考。
  93. ...... d = {}
  94. ...... lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)
  95. ......
  96. 第2小问答案(PY301-2.py)
  97. 第10套题
  98. 第1小问素材(PY301-1.py)
  99. # 以下代码仅供参考。
  100. ......
  101. 第1小问答案(PY301-1.py)
  102. 第2小问素材(PY301-2.py)
  103. # 以下代码仅供参考。
  104. import jieba d = {} lt = list(d.items()) lt.sort(key=lambda x:x[1],reverse=True)
  105. 第2小问答案(PY301-2.py)
  106. 第11套题
  107. 例题素材(PY301.py)
  108. 请在......处写多行代码
  109. 建议不修改其他代码
  110. 参考答案(PY301.py)
  111. 第12套题
  112. 例题素材(PY301.py)
  113. 在____________上补充代码
  114. 在……上补充一行或多行代码
  115. 参考答案(PY301.py)
  116. 第13套题
  117. 例题素材(PY301.py)
  118. 在……上补充一行或多行代码
  119. 可修改其他代码
  120. 参考答案(PY301.py)
  121. 可修改其他代码
  122. 第14套题
  123. 例题素材(PY301.py)
  124. 在____________上补充代码
  125. 在……上补充一行或多行代码
  126. fi =open("data301.txt","r")
  127. 参考答案(PY301.py)
  128. 可修改其他代码
  129. 第15套题
  130. 例题素材(PY301.py)
  131. 在……上补充一行或多行代码
  132. 可修改其他代码
  133. stop_word=['我们','同时','之后','更好','这些','进行']
  134. 参考答案(PY301.py)
  135. 可修改其他代码
  136. stop_word=['我们','同时','之后','更好','这些','进行']
  137. 第16套题
  138. 例题素材(PY301.py)
  139. 在____________上补充代码
  140. 在……上补充一行或多行代码
  141. fi =open("data301.txt","r")
  142. 参考答案(PY301.py)
  143. 可修改其他代码
  144. 第17套题
  145. 例题素材(PY301.py)
  146. 在____________上补充代码
  147. 在……上补充一行或多行代码
  148. 可以修改其他代码
  149. 问题 1:withopen("data301.csv","r")as f: lines=____________
  150. 问题 2:deftotal(lst):sum=0
  151. 问题 3: d={}
  152. 参考答案(PY301.py)
  153. 可以修改其他代码
  154. 问题 1:
  155. 问题 2:
  156. 问题 3:
  157. 第18套题
  158. 例题素材(PY301.py)
  159. 在____________上补充代码
  160. 在……上补充一行或多行代码
  161. 可以修改其他代码
  162. 参考答案(PY301.py)
  163. 可以修改其他代码
  164. 第19套题
  165. 例题素材(PY301.py)
  166. 在____________上补充代码
  167. 在……上补充一行或多行代码
  168. 可修改其他代码
  169. 参考答案(PY301.py)
  170. 可修改其他代码
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 人工智能基础概念全解析:从图灵测试到深度学习
  • 大模型的起源、现状与未来趋势解析
  • Web-Check + cpolar:Docker 部署与远程网站检测方案
  • DeepSeek 中冷启动数据与多阶段训练的作用
  • 基于顶部籽晶法的 YBCO 块体超导体生长工艺研究
  • Python 入门:编写你的第一个程序
  • Java 消息队列选型实战:RabbitMQ、RocketMQ、Kafka 对比
  • 基于 Spring Boot 的智行无忧停车场管理系统设计与实现
  • FPGA 是什么?核心原理与优势解析
  • FastGPT 集成 MCP 协议构建工具增强型智能体
  • C 语言实现队列数据结构详解
  • 线性动态规划:四道经典例题实战解析
  • PX4 与 ROS 无人机 Offboard 控制模式解析及实战
  • Claude Skills 实战指南:自动化任务与技能管理
  • ASP.NET WebForms 中的 SortedList 核心用法与注意事项
  • Qwen3-4B-Instruct 本地部署与 AI 写作实战指南
  • 浏览器端 HTML 转 Word 文档的完整解决方案
  • OSCP 实战笔记:获取并破解 Net-NTLMv2 哈希(下)
  • 从裸金属到实时系统:C++内核稳定运行的关键控制点
  • Web 可访问性最佳实践:确保所有用户平等访问

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online