实验5 文件应用编程

task 3

 1 with open ('data3.txt','r',encoding='utf-8') as f:
 2     data = f.read()
 3 data = data.split('\n')
 4 m = ['{:20}'.format(i) if i == '原始数据' else '{:22}'.format(i) for i in data]
 5 data1 = ["四舍五入后数据"]
 6 for i in range(1, len(data)):
 7     data[i] = int(eval(data[i])+0.5)
 8     data1.append(str(data[i]))
 9 for i in range(len(data)):
10     data[i] = m[i] + data1[i] + '\n'
11 with open("data3_processed.txt", 'w', encoding="utf-8") as f:
12     f.writelines(data)
13 m.pop(0)
14 print(f"原始数据:\n{[eval(i) for i in m]}\n四舍五入后数据:\n{[int(eval(i)+0.5) for i in m]}")

task 4

 1 with open("data4.txt", 'r', encoding="utf-8") as f:
 2     data = f.readlines()
 3 list = []
 4 for i in data:
 5     i = i.strip("\n")
 6     list.append(i.split("\t"))
 7 for i in range(1,len(list)):
 8     list[i][3] = int(list[i][3])
 9 list1 = [list.pop(0)]
10 list.sort(key=lambda x: (x[2], -x[3]))
11 list2 = list1+list
12 for i in range(len(list2)):
13     m = "\t".join("%s" % i for i in list2[i])
14     list2[i] = f"{m}\n"
15 
16 with open("data4_processed.txt", "w",encoding="utf-8") as f:
17     f.writelines(list2)

task 5

 1 with open("data5.txt") as f:
 2     text = f.read()
 3 lines = len(text.splitlines())
 4 words = len(text.split())
 5 spaces = text.count(" ")
 6 str = len(list(text))
 7 print(f"行数:{lines}\n单词数:{words}\n空格数:{spaces}\n字符数:{str}")
 8 line = text.splitlines()
 9 text1 = ''
10 for i in range(len(line)):
11     line[i] = f"{i + 1} " + line[i]+"\n"
12     text1 += line[i]
13 with open('data5_with_line.txt', 'w') as f:
14     f.write(text1)

实验总结:

python好难,实验三、四调整格式对齐调整了好久。。。

posted @ 2022-05-14 12:15  熊猫小丸子  阅读(34)  评论(2编辑  收藏  举报