实验5
task3
with open('data3.txt', 'r+', encoding='utf-8')as f: a = f.read().split('\n') a[0] = '原始数据' + '\t' + '四舍五入后数据' + '\n' for i in range(1, len(a)): if eval(a[i])-int(eval(a[i])) >= 0.5: a[i] = a[i]+'\t'*2+str(int(eval(a[i]))+1) + '\n' else: a[i] = a[i] + '\t'*2 + str(int(eval(a[i]))) + '\n' with open('data3.txt', 'w+', encoding='utf-8')as f: f.writelines(a)
task4
with open('data4.txt', 'r+', encoding='utf-8')as f:
a = [i.strip('\n').split('\t') for i in f]
b = a[0]
a.pop(0)
a.sort(key=lambda x: (x[2], -int(x[-1]))) # 第三列升序,第四列降序
with open('data4_progressed.txt', 'w+', encoding='utf-8')as f:
f.write('\t'.join(b) + '\n')
for line in a:
f.write('\t'.join(line)+'\n')
with open('data4_progressed.txt', 'r', encoding='utf-8')as f:
print(f.read())
task5
with open('data5.txt', 'r+', encoding='utf-8') as f: text = ''.join([i for i in f]) print(f'行数:{len(text.splitlines())}') print(f'单词数:{len(text.split())}') print(f"空格数:{text.count(' ')}") print(f'字符数:{len(text)}') with open('data5_with_line.txt', 'w', encoding='utf-8') as f: for i in range(len(text.splitlines())): f.write('{} {}'.format(i+1, text.split('\n')[i])+'\n')