实验五

task3
1 with open('data3.txt','r',encoding='utf-8') as f: 2 data=f.readlines() 3 f.close() 4 with open('data3_processed.txt','w',encoding='utf-8') as b: 5 a=['四舍五入后数据:'] 6 for i in range(len(data)): 7 data[i]=data[i].strip('\n') 8 for i in data[1:]: 9 i=eval(i) 10 if i-int(i)<0.5: 11 a.append(str(int(i))) 12 else: 13 a.append(str(int(i)+1)) 14 for i in range(len(data)): 15 b.write(data[i]+'\t'+a[i]+'\n') 16 b.close() 17 a1=[];a2=[] 18 for i in range(1,len(data)): 19 a1.append(eval(data[i])) 20 a2.append(int(a[i])) 21 print(f'原始数据:\n{a1}\n四舍五入后数据:\n{a2}')

 

 task4

 1 f=open('data4.txt','r',encoding='utf-8')  2 a=[]  3 for i in f:  4     a.append(i.split())  5 b=a[0]  6 del a[0]  7 a.sort(key=lambda x:(x[2],-int(x[3])))  8 a.insert(0,b)  9 f.close() 10 f=open('data4_processed.txt','w',encoding='utf-8') 11 for m in a: 12     for n in m: 13         f.write(n+'\t') 14     f.write('\n') 15 f=open('data4_processed.txt','r',encoding='utf-8') 16 c=f.read() 17 print(c)    

 

 

task5

 1 f=open('data5.txt','r',encoding='utf-8')  2 data=f.read()  3 lines=len(data.splitlines())  4 words=len(data.split())  5 spaces=data.count(' ')  6 characters=len(data)  7 print(f'行数:{lines}\n单词数:{words}\n空格数:{spaces}\n字符数:{characters}')  8 a=open('data5_with_line.txt','w',encoding='utf-8')  9 b=data.splitlines() 10 for i in range(len(b)): 11     a.writelines(f'{i+1} {b[i]}\n') 12 a.close()