实验5 文件应用编程

实验任务3

with open('data3.txt','r',encoding='utf-8') as f:
    be=[]
    b=f.readlines()
    for i in b[1::]:
        i=eval(i.strip('\n'))
        be.append(i)
    print(f'原始数据:\n{be}')
a=[]
for i in be:
    if i%1>=0.5:
        i=int(i)+1
        a.append(i)
    else:
        i=int(i)
        a.append(i)
print(f'四舍五入后数据:\n{a}')

with open('data3.processeed.txt','w') as f:
    be1=['原始数据']
    be2=be1+be
    a1=['四舍五入后数据']
    a2=a1+a
    for i in range(len(be)+1):
        f.write(str(be2[i])+'\t'+str(a2[i])+'\n')
    

实验任务4

with open('data4.txt','r') as f:
    list1=f.readlines()
    b=[]
    major=[]
    score=[]
    
    name=list1[0]
    list1.remove(name)
    for i in list1:
        i=i.split('\t')
        c=i[2]
        major.append(c)
        a=i[0]+'\t'+i[1]
        d=i[3]
        score.append(d)
        b.append(a)
    list2=sorted(list(zip(major,b,score)))
    list3=[list(i) for i in list2[0:7]]
    list4=[i[::-1] for i in list3]
    list5=sorted(list4,reverse=True)
    list6=[list(i) for i in list2[8::]]
    list7=[i[::-1] for i in list6]
    list8=sorted(list7,reverse=True)
    lista=list5+list8
   
    tir1=[]
    tir2=[]
    tir3=[]
    for j in lista:
        tir1.append(j[0])
        tir2.append(j[1])
        tir3.append(j[2])
        
with open('data4_processed.txt','w') as f:
    f.writelines(name)
    for i in range(len(tir1)):
        f.write(tir2[i]+'\t'+tir3[i]+'\t'+tir1[i]+'\n')
with open('data4_processed.txt','r') as f:
    print(f.read())

实验任务5

with open('data5.txt','r') as f:
    b=f.readlines()
with open('data5.txt','r')as f:
    a=f.read()
    kong=a.count(' ')
    words=a.split()
print(f'行数:{len(b)}')
print(f'单词数:{len(words)}')
print(f'空格数:{kong}')
print(f'字符数:{len(a)}')

with open('data5_with_line.txt','w') as f:
    x=1
    for i in b:
        i=str(x)+' '+i
        f.write(i)
        x+=1

 

 

 

posted @ 2022-05-17 01:17  Embeddd  阅读(14)  评论(3编辑  收藏  举报