ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

实验5 文件应用编程

2022-05-17 00:00:19  阅读:166  来源: 互联网

标签:文件 utf encoding 编程 print 实验 y1 txt open


#task3
with open('data3.txt','r',encoding='utf-8')as f1:
    with open('data3_processed.txt','w',encoding='utf-8')as f2:
        a=f1.read().split('\n')
        a.pop(0)
        c=[]
        d=[eval(i) for i in a]
        for i in a:
            x=eval(i)
            if x-int(x)<0.5:
                c.append(int(eval(i)))
            else:
                c.append(int(eval(i))+1)
        d2=[int(i)for i in c]
        f2.write(f'原始数据\t四舍五入后的数据\n')
        for i in range(len(d)):
            f2.write(f'{d[i]}\t\t{d2[i]}\n')
print(f'原始数据:\n{d}\n四舍五入后的数据:\n{c}')

#task4
with open('data4.txt','r',encoding='utf-8') as f:
    data=f.readlines()
    data.remove(data[0])
    x0=[]
    for i in data:
        a=i.split()
        x0.append(a)
    x1=sorted(x0,key=(lambda x:x[2]))
    x2=[x1[i] for i in range(0,8)]
    x3=sorted(x2,key=(lambda x:x[3]),reverse=True)
    x4=[x1[i] for i in range(8,10)]
    x5=sorted(x4,key=(lambda x:x[3]),reverse=True)
    y=x3+x5

    y1=[]
    for i in y:
        b='\t'.join(i)
        b=b+'\n'
        y1.append(b)
    y1.insert(0,'学号\t姓名\t专业\t分数\n')
    for i in y1:
        print(i)
with open('data4_processed.txt','w',encoding='utf-8')  as f:
    for i in y1:
        f.write(i)

#task5
with open('data5.txt','r',encoding='utf-8')as f:
    with open('data5_with_line.txt', 'w', encoding='utf-8') as f1:
        a=f.read().strip('\n')
        b = len(a.splitlines())
        print('行数:', b)
        c = len(a.split())
        print('单词数:', c)
        d = 0
        for i in a:
            if i == ' ':
                d += 1
        print('空格数:', d)
        e = 0
        for e, number in enumerate(a):
            e += 1
        print('字符数:', e)
        a=a.split('\n')
        n='\n'.join(a)
        for i in range(len(a)):
            f1.write(f'{i+1}.{a[i]}\n')

 

标签:文件,utf,encoding,编程,print,实验,y1,txt,open
来源: https://www.cnblogs.com/cqygfxgfsthlhgzbrz/p/16279172.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有