实验5 文件应用编程

task3

 1 with open('data3.txt','r+', encoding='UTF-8') as f:  
 2     num = [line.strip('\n') for line in f]
 3     num.pop(0)
 4     num_print = [eval(i) for i in num]
 5     print(f"原始数据:\n{num_print}")
 6     num_new = [round(eval(i)) for i in num]
 7     print(f'四舍五入后的数据:\n{num_new}')
 8 
 9 with open('data3_processed.txt','w') as f:  
10     write1 = ['原始数据'] + [str(i) for i in num]
11     write2 = ['四舍五入后的数据'] + [str(i) for i in num_new]
12     for i in range(len(num)):
13         f.write(f"{write1[i]}\t{write2[i]}\n")

 

截图:

 

 

 

 

task4

 1 with open('data4.txt', 'r+', encoding='UTF-8') as f:
 2     string = [i.strip('\n').split('\t') for i in f]
 3     a = string.pop(0)
 4     string.sort(key=lambda x: (x[2], -int(x[-1])))
 5     print('\t'.join(a))
 6     for i in string:
 7         print('\t'.join(i))
 8 
 9 with open('data4_processed.txt', 'w') as f :
10     f.write('\t'.join(a)+'\n')    
11 for i in string: 12 f.write('\t'.join(i)+'\n')

截图:

 

 

 

 

task5

 1 with open('data5.txt', 'r+', encoding='UTF-8') as f:
 2     text = ''.join([i for i in f])
 3     print(f'行数:{len(text.splitlines())}')
 4     print(f'单词数:{len(text.split())}')
 5     print(f"空格数:{text.count(' ')}")
 6     print(f'字符数:{len(text)}')
 7 
 8 with open('data5_with_line.txt', 'w', encoding='UTF-8') as f:
 9     for i in range(len(text.splitlines())):
10         f.write('{} {}\n'.format(i+1,text.split('\n')[i]))

截图:

 

 

 

 

总结:

文件根本不会,实在是太难了,yue

posted @ 2022-05-10 18:50  柚子西虹  阅读(70)  评论(2)    收藏  举报