#PY301-1.py#请在.....处填写多行表达式或语句#可以修改其他代码defravg(lst):sum=0for i in lst:sum+=i
returnround(sum/len(lst),1)
qzlst=[]
swlst=[]
zylst=[]withopen("data2.csv","r")as f:
datas=f.readlines()for i in datas:if i in datas[:5]:print(i,end='')if i in datas[1:]:
ls=i.strip().split(',')
qzlst.append(eval(ls[1]))
swlst.append(eval(ls[2]))
zylst.append(eval(ls[3]))
avglst=["平均值",ravg(qzlst),ravg(swlst),ravg(zylst)]
maxlst=["最大值",max(qzlst),max(swlst),max(zylst)]
minlst=["最小值",min(qzlst),min(swlst),min(zylst)]withopen("tongji.csv","w")as f:
f.write('统计,报名,弃考,有效\n')
f.write('{},{},{},{}'.format(*avglst)+'\n')
f.write('{},{},{},{}'.format(*maxlst)+'\n')
f.write('{},{},{},{}'.format(*minlst))
## 在____________上补充代码 (12根短线)# 在……上补充一行或多行代码 (6个点)#
fi =open("data301.txt","r")
f =open("result301.txt","w")
cnumd ={}
name =''
count =0
flag =1for line in fi:if'"name":'in line:
name = line.split('"')[-2]
flag =1elif'"value":'in line and flag ==1:
dx = line.split(': ')[-1][:-1]
cnumd[name]= dx
flag =0
count+=1for d in cnumd.items():
f.write("{}:{}\n".format(d[0],d[1]))print("一共有{}个地区".format(count))
f.close()
fi.close()
## 在____________上补充代码 (12根短线)# 在……上补充一行或多行代码 (6个点)#
lcnum =[]withopen("result301.txt","r")as fi:for line in fi:
s = line.strip().split(':')iflen(s)<=1:continue
lcnum.append([s[0],eval(s[1])])
lcnum.sort(key=lambda x:x[1], reverse=True)
lz =0
lw =0for l in lcnum:if l[1]>10000:
lw +=1elif l[1]==0:
lz +=1print("新冠确诊人数最多的地区是{},人数是{}".format(lcnum[0][0],lcnum[0][1]))print("新冠确诊人数超过1W的地区有{}个".format(lw))print("新冠确诊人数为0的地区有{}个".format(lz))
# 请在...处使用多行代码替换## 注意:其他已给出代码仅作为提示,可以修改
L=[]
fo =open("score.txt","r")
fi =open("candidate0.txt","w")
lines = fo.readlines()for line in lines:
line = line.strip()
student = line.split(' ')sum=0for i inrange(1,11):sum+=int(student[-i])
student.append(str(sum))
L.append(student)
L.sort(key=lambda x:x[-1],reverse=True)for i inrange(10):
fi.write(' '.join(L[i][:-1])+'\n')
fo.close()
fi.close()
'''
输入文件 : candidate0.txt
输出文件 : candidate.txt
'''
fo =open("candidate0.txt","r")
fi =open("candidate.txt","w")
L =[]# 存储候选人
lines = fo.readlines()for line in lines:
line = line.strip()
student = line.split(' ')for i in student[-10:]:ifint(i)<60:breakelse:
L.append(student[:2])for i in L:
fi.write(' '.join(i)+'\n')
fo.close()
fi.close()
#请在.....处填写多行表达式或语句#可以修改其他代码
f =open("八十天环游地球.txt")
fo=open("八十天环游地球-章节.txt",'w')for i in f:
line=i.strip().split()if line[0][0]=="第"and"章"in line[0]:
fo.write(i)
fo.close()
f.close()
#请在.....处填写多行表达式或语句#可以修改其他代码import jieba
f =open("八十天环游地球.txt")
datas=f.readlines()
l=[]for i inrange(len(datas)):
line=datas[i].split(' ')if datas[i][0]=="第"and"章"in line[0]:
l.append(i)for i inrange(len(l)):if i !=len(l)-1:
data=''.join(datas[l[i]:l[i+1]])else:
data=''.join(datas[l[i]:])
s=data.split()[0]
words=jieba.lcut(data)
d={}for y in words:iflen(y)<2:continue
d[y]=d.get(y,0)+1
lis=list(d.items())
lis.sort(key=lambda x:x[1],reverse=True)print(s,lis[0][0],lis[0][1])
f.close()
# 请在......处写多行代码# 建议不修改其他代码import jieba
f ="红楼梦.txt"
sf ="停用词.txt"
f1=open(f,encoding="utf-8")
datas=f1.read()
f1.close()
f2=open(sf,encoding="utf-8")
words=f2.read()
f2.close()
data=jieba.lcut(datas)
d={}
word=["一个","如今","一面","众人","说道","只见","不知","两个","起来","二人","今日","听见","不敢","不能","东西","只得","心中","回来","几个","原来","进来","出去","一时","银子","起身","答应","回去"]for i in data:iflen(i)<2or i in words or i in word:continueif i in["凤姐","凤姐儿","凤丫头"]:
i="凤姐"elif i in["宝玉","二爷","宝二爷"]:
i="宝玉"elif i in["黛玉","颦儿","林妹妹","黛玉道"]:
i="黛玉"elif i in["宝钗","宝丫头"]:
i="宝钗"elif i in["贾母","老祖宗"]:
i="贾母"elif i in["袭人","袭人道"]:
i="袭人"elif i in["贾政","贾政道"]:
i="贾政"elif i in["贾琏","琏二爷"]:
i="贾琏"
d[i]=d.get(i,0)+1
l=list(d.items())
l.sort(key=lambda x:(x[1],x[0]), reverse=True)
f=open("result.csv",'w')for i in l:if i[1]<40:break
f.write(i[0]+','+str(i[1])+'\n')
f.close()