# 实验5 文件应用编程

 1 with open('data3.txt','r+', encoding='UTF-8') as f:
2     Z=[]
3     Y=[]
4     x=[]
5     for i in f:
6         x.append(i.strip('\n'))
7     newx=x[1:11]
8     for i in newx:
9         y=float(i)
10         Y.append(y)
11         if y-int(y) >= 0.5:
12             y=int(y)+1
13         else:
14             y=int(y)
15         Z.append(y)
16     print(f'原始数据\n{Y}')
17     print(f'四舍五入后的数据\n{Z}')
18
19 with open('data3_processed.txt','w',encoding='utf-8') as f:
20     write1=['原始数据']+Y
21     write2=['四舍五入后的数据']+Z
22     for i in range (len(Y)):
23         f.write(f'{write1[i]}\t{write2[i]}\n')

 1 with open('data4.txt', 'r', encoding = 'utf-8') as f:
2     Y=[]
3     l=[]
4     t=[]
5     e=[]
7     for i in data:
8         i=i.split()
9         Y.append(i)
10     Y.remove(Y[0])
11     newlist1=sorted(Y,key=(lambda x : x[2]))
12     for i in range (0,8):
13         l.append(newlist1[i])
14     l1=sorted(l,key=(lambda x : x[3]),reverse=True)
15     for i in range (8,10):
16         t.append(newlist1[i])
17     l2=sorted(t,key=(lambda x : x[3]),reverse=True)
18     X=l1+l2
19     for i in X:
20         i1='\t'.join(i)
21         i1=i1+'\n'
22         e.append(i1)
23     e.insert(0,'学号\t姓名\t专业\t分数\n')
24     for i in e:
25         print(i)
26 with open('data4_processed.txt','w',encoding='utf-8') as f:
27     for i in e:
28         f.write(i)

 1 with open('data5.txt', 'r+', encoding = 'utf-8') as f:
3     print('行数',len(data.splitlines()))
4     print('单词数',len(data.split()))
5     s=0
6     for i in data:
7         if i.isspace():
8             s=s+1
9     print('空格数',s)
10     print('字符数',len(data))
11
12
13 with open('data5_with_line.txt', 'w+', encoding = 'utf-8') as f:
14     for i in range(len(data.splitlines())):
15         f.write(str(i+1)+' '+str(data.splitlines()[i])+'\n')

posted @ 2022-05-16 21:45  虞渊  阅读(16)  评论(3编辑  收藏  举报