实验五 文件应用编程
task3
1 with open('data3.txt','r+', encoding='UTF-8') as f: 2 x = [line.strip('\n') for line in f] 3 x.pop(0) 4 x_print = [eval(i) for i in x] 5 print(f"原始数据:\n{x_print}") 6 x_new = [round(eval(i)) for i in x] 7 print(f'四舍五入后的数据:\n{x_new}') 8 9 with open('data3_processed.txt','w') as f: 10 write1 = ['原始数据'] + [str(i) for i in x] 11 write2 = ['四舍五入后的数据'] + [str(i) for i in x_new] 12 for i in range(len(x)): 13 f.write(f"{write1[i]}\t{write2[i]}\n")
1 task4 2 with open('data4.txt', 'r+', encoding='utf-8') as f1: 3 inf1 = f1.readlines() 4 inf2 = [list(i.strip().split()) for i in inf1] 5 a=inf2.pop(0) 6 inf3 = sorted(inf2, key=(lambda x: [x[2], -int(x[3])])) 7 inf3.insert(0,a) 8 with open('data4_processed.txt ','w',encoding='utf-8')as f2: 9 for m in inf3: 10 f2.write('\t'.join(m)+'\n') 11 for n in m: 12 print('%-5s\t'%n,end='') 13 print()
1 task5 2 with open('data5.txt','r+',encoding='utf-8')as f1: 3 inf=f1.read() 4 line = len(inf.splitlines()) 5 word = len(inf.split()) 6 string = len(inf) 7 space=0 8 for i in inf: 9 if i==' ': 10 space+=1 11 print(f'行数:{line}') 12 print(f'单词数:{word}') 13 print(f'空格数:{space}') 14 print(f'字符数:{string}') 15 with open('data5_with_line.txt', 'w', encoding='utf-8') as f2: 16 for n in range(line): 17 f2.write(str(n+1)+' '+inf.split('\n')[n]+'\n')
实验总结:
python好难,这部分掌握不熟练T^T