【3月考】二级Python最新真题及满分代码合集(综合应用题部分)

【3月考】二级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 inrange(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 =Falsefor line in fi:if"【原文】"in line: flag =Truecontinueif"【注释】"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 inrange(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:iflen(row[2])==3: m1=row[2][0] d1=row[2][1:3]else: m1=row[2][0:2] d1=row[2][2:4]iflen(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:if0<int(i)<len(ls):for row in ls:if row[0]==i: m1=row[2][0]iflen(row[2])==3else row[2][0:2] d1=row[2][1:3]iflen(row[2])==3else row[2][2:4] m2=row[3][0]iflen(row[2])==3else row[3][0:2] d2=row[3][1:3]iflen(row[2])==3else 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 notin",。?!《》【】“”‘’": 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 notin",:。?!《》【】“”‘’\"\n": d[i]= d.get(i,0)+1 ls =list(d.items()) ls.sort(key=lambda x:x[1], reverse=True)# 此行可以按照词频由高到低排序for i inrange(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 notin"\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)_________ +1print("曹操出现次数为:{} ".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)+1print("曹操出现次数为:{} ".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:iflen(word)>=3and(word notin 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:iflen(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 ='{}:{}'.format(i[0],i[1]) fo.write(s+'\n') 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()ifmin(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("大学生"notin school):print(school)if"大学"in school: n +=1elif"学院"in school: k +=1print("包含大学的名称数量是{}".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:iflen(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 inrange(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:iflen(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 inrange(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:iflen(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 inrange(10): ls2018.append(lt[i][0]) d ={}for i in line2019: word = jieba.lcut(i)for j in word:iflen(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 inrange(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 notin 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:iflen(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 =0for i in ss:if i in point: cnt +=1print(cnt) words = jieba.lcut(ss) dc =[]for i in words:iflen(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 =0for lr in lss: …… print("共{}个非空行".format(lens)) alens =0 wlens =0for 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 inrange(len(lr)):if lr[i]in dels:passelse: 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 =0for 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 notin stop_word): word_count[word]= word_count.get(word,0)+1print("长度大于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]notin stop_word: topword = i[0]breakprint("词频最大的词是:{}".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 =1for line in fi:if'"name":'in line: name = line.____________[1].strip(' ,"\n') flag =1elif'"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 =1for line in fi:if'"name":'in line: name = line.split(':')[1].strip(' ,"\n') flag =1elif'"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 =0for i in lt:if i[1]>=10000: lw +=1elif i[1]==0: lz +=1print("确诊人数超过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=0for 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:withopen("data301.csv","r")as f: lines=f.read().split("\n")for i inrange(5):print(lines[i])# 问题2:deftotal(lst):sum=0for i in lst:sum+=i returnsum 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 inrange(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 =0for lr in lss:if lr !="\n": lens +=1print("共{}个非空行。".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:iflen(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 =0for lr in lss:if lr !="\n": lens +=1print("共{}个非空行。".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:iflen(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]))

Read more

高效代码开发助手vscode+(Copilot/Cline+Copilot(让cline调用Copilot的模型))

高效代码开发助手vscode+(Copilot/Cline+Copilot(让cline调用Copilot的模型))

一、引言 随着AI智能体的出现,越来越多方便的工具也随之产生,作为一名开发者自然不能错过这波浪潮。本篇文章带来的是如何在vscode上使用插件Copilot/Cline+Copilot,两种方式实现自动化辅助编程。 二、在vscode上使用Copilot 安装 Copilot插件 在 VSCode 中安装 Copilot插件: 1. 打开 VSCode 扩展市场 2. 搜索 “Copilot” 3. 点击安装 4. 安装完成后,使用 GitHub 账号登录授权(在Copilot插件安装完成后,通过向导完成登录授权) 5. 重启 VSCode 测试自动化编写代码功能 打开聊天框: 选择Agent模式;选择模型(想用Claude 4 sonnet可去某宝买copilot计划,价格挺便宜): 输入测试内容: 结果展示: 三、在vscode上使用Cline+Copilot Cline也是一个受到众多好评的自动化编程的插件。

By Ne0inhk

一步到位!VSCode Copilot 终极魔改:智谱 GLM-4.6 接入 + 任意大模型适配

VSCode Copilot 接入 GLM-4.6 方法 安装 vscode-zhipuai 插件后,在 VSCode 设置中添加以下配置: { "zhipuai.apiKey": "你的API_KEY", "zhipuai.model": "GLM-4" } 通过 Ctrl+Shift+P 调出命令面板,执行 ZhipuAI: Toggle Chat 即可激活对话窗口。该插件支持代码补全、对话和文档生成功能。 任意大模型适配方案 修改 VSCode 的 settings.json 实现通用 API 对接: { "ai.

By Ne0inhk
AIGC实战——CycleGAN详解与实现

AIGC实战——CycleGAN详解与实现

AIGC实战——CycleGAN详解与实现 * 0. 前言 * 1. CycleGAN 基本原理 * 2. CycleGAN 模型分析 * 3. 实现 CycleGAN * 小结 * 系列链接 0. 前言 CycleGAN 是一种用于图像转换的生成对抗网络(Generative Adversarial Network, GAN),可以在不需要配对数据的情况下将一种风格的图像转换成另一种风格,而无需为每一对输入-输出图像配对训练数据。CycleGAN 的核心思想是利用两个生成器和两个判别器,它们共同学习两个域之间的映射关系。例如,将马的图像转换成斑马的图像,或者将苹果图像转换为橙子图像。在本节中,我们将学习 CycleGAN 的基本原理,并实现该模型用于将夏天的风景图像转换成冬天的风景图像,或反之将冬天的风景图像转换为夏天的风景图像。 1. CycleGAN 基本原理 CycleGAN 是一种无需配对的图像转换技术,它可以将一个图像域中的图像转换为另一个图像域中的图像,而不需要匹配这两个域中的图像。它使用两个生成器和两个判别器,其中一个生成器将一个域中的图像

By Ne0inhk
CarelessWhisper: Turning Whisper into a Causal Streaming Model——将 Whisper 转变为因果流式模型

CarelessWhisper: Turning Whisper into a Causal Streaming Model——将 Whisper 转变为因果流式模型

这篇题为《CarelessWhisper: Turning Whisper into a Causal Streaming Model》的研究论文,提出了一种将非因果的Transformer语音识别模型(如Whisper)改造为低延迟、实时流式语音识别模型的方法。以下是其主要研究内容的概括总结: 一、研究背景与问题 * 现状:Whisper 等先进语音识别模型在离线转录中表现出色,但由于其编码器的非因果性(需依赖未来上下文),无法直接用于低延迟实时流式转录。 * 挑战:现有流式化方法存在计算效率低、延迟高、需额外模块或多轮解码等问题。 二、核心方法 1. 因果编码器改造 * 在 Whisper 的编码器中引入因果掩码(causal masking),使其仅依赖过去和当前语音帧,不依赖未来信息。 * 提出分块注意力机制,支持以固定块大小(如 40、100、300 ms)逐步处理语音流。 2. 轻量级微调策略 * 使用 LoRA(

By Ne0inhk