实验5 文件应用编程

#task3 with open('data3.txt','r',encoding='utf-8')as f1:     with open('data3_processed.txt','w',encoding='utf-8')as f2:         a=f1.read().split('\n')         a.pop(0)         c=[]         d=[eval(i) for i in a]         for i in a:             x=eval(i)             if x-int(x)<0.5:                 c.append(int(eval(i)))             else:                 c.append(int(eval(i))+1)         d2=[int(i)for i in c]         f2.write(f'原始数据\t四舍五入后的数据\n')         for i in range(len(d)):             f2.write(f'{d[i]}\t\t{d2[i]}\n') print(f'原始数据:\n{d}\n四舍五入后的数据:\n{c}')

#task4 with open('data4.txt','r',encoding='utf-8') as f:     data=f.readlines()     data.remove(data[0])     x0=[]     for i in data:         a=i.split()         x0.append(a)     x1=sorted(x0,key=(lambda x:x[2]))     x2=[x1[i] for i in range(0,8)]     x3=sorted(x2,key=(lambda x:x[3]),reverse=True)     x4=[x1[i] for i in range(8,10)]     x5=sorted(x4,key=(lambda x:x[3]),reverse=True)     y=x3+x5      y1=[]     for i in y:         b='\t'.join(i)         b=b+'\n'         y1.append(b)     y1.insert(0,'学号\t姓名\t专业\t分数\n')     for i in y1:         print(i) with open('data4_processed.txt','w',encoding='utf-8')  as f:     for i in y1:         f.write(i)

#task5 with open('data5.txt','r',encoding='utf-8')as f:     with open('data5_with_line.txt', 'w', encoding='utf-8') as f1:         a=f.read().strip('\n')         b = len(a.splitlines())         print('行数:', b)         c = len(a.split())         print('单词数:', c)         d = 0         for i in a:             if i == ' ':                 d += 1         print('空格数:', d)         e = 0         for e, number in enumerate(a):             e += 1         print('字符数:', e)         a=a.split('\n')         n='\n'.join(a)         for i in range(len(a)):             f1.write(f'{i+1}.{a[i]}\n')