5.3
with open('5//data3.txt','r')as f: data=f.read().split('\n') del data[0] a=list(map(float,data)) b=[] for i in a: if i-int(i)<=0.4: b.append(int(i)) elif i-int(i)>0.5: b.append(int(i)+1) elif i-int(i)==0.5: if int(i)%2==0: b.append(int(i)) else: b.append(int(i)+1) c=['原始数据\t四舍五入后数据\t\n'] for i,j in zip(a,b): c.append(str(i)+'\t'+' '+str(j)+'\n') with open('data3_processed.txt','w')as f: f.write(''.join(c)) print('原始数据:') print(a) print('四舍五入后数据:') print(b)
5.4
with open('5//data4.txt','r')as f: data=f.readlines() for i in range(len(data)): data[i]=data[i].rstrip('\n') a=[] for i in range(len(data)): a.append(data[i].split('\t')) m=a[0] del a[0] b=sorted(a, key=lambda a: a[2]) c=[] for i in range(len(b)): if b[i][2]=='Acting': c.append(b[i]) c=sorted(c, key=lambda c: c[3], reverse=True) d=[] for i in range(len(b)): if b[i][2]=='Music': d.append(b[i]) d=sorted(d, key=lambda d: d[3], reverse=True) e=[] e.append(m) for i in c: e.append(i) for i in d: e.append(i) for i in range(len(e)): for j in range(len(m)): e[i][j]=e[i][j].ljust(5)+'\t' for i in e: print(''.join(i)) with open('data4_processed.txt','w')as f: for line in e: f.write(' '.join(line).ljust(5)+'\n')
5.5
line_count=0 space_count=0 with open('5//data5.txt','r')as f: data1=f.readlines() for line in data1: if '\n' in line: line_count=line_count+1 with open('5//data5.txt','r')as f: data2=f.read() a=list(data2) for i in a: if i=='\n': a.remove('\n') for i in a: if i.isspace(): space_count=space_count+1 print('行数:',line_count+1) print('单词数:',len(data2.split())) print('空格数:',space_count) print('字符数:',len(data2)) with open('data5_with_line','w')as f: for i in range(line_count+1): f.writelines(str(i+1)+' '+data1[i])
实验总结:
应该搞清楚绝对路径和相对路径。