ICode9

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

实验6 文件应用编程

2022-05-21 21:00:45  阅读:149  来源: 互联网

标签:文件 编程 datetime 实验 l3 l1 line append d1


task.3.py

def is_valid(s):
    if len(s)!=18:
        return False
    elif s.isdigit()==bool(1) or 'X' in s :
        return bool(1)
    else:
        return False

with open('D:\\data3_id.txt','r',encoding='utf-8') as f:
    d1=f.readlines()
    l1=[]
    l2=[]
    l3=[]
    for line in d1:
        line=line.strip('\n')
        line=list(line.split(','))
        s=''.join(line[1])
        if is_valid(s):
            l3.append(line)
            
    for i in range(len(l3)):
        l1.append(l3[i][0])
        a=l3[i][1][6:10]
        b=l3[i][1][10:12]
        c=l3[i][1][12:14]
        l2.append(a+'-'+b+'-'+c)
        d1=dict(zip(l1,l2))
        d2=sorted(d1.items(),key=lambda x:x[1])
    for k in d2:
        print(f'{k[0]}:{k[1]}')
        
            

 

 task.5-1.py

import random
import datetime
t=datetime.datetime.now()
filename=t.strftime('%Y%m%d')+'.txt'


with open('D:\\data5.txt','r',encoding='utf-8') as f:
    d1=f.readlines()

    
l1=[]
for line in d1:
    line=line.strip('\n')
    line=line.split('\t')
    l1.append(line)
    
n=int(input('输入随机抽点的人数n:'))
b=random.sample(l1,n)
d=''.join(str(b))
with open(filename,'w',encoding='utf-8') as f:
    for i in b:
        c=' '.join(i)
        f.writelines(c+'\n')
        print(c)
    

    

 task.5-2.py

import random
import datetime
t=datetime.datetime.now()
filename=t.strftime('%Y%m%d')+'.txt'


with open('D:\\data5.txt','r',encoding='utf-8') as f:
    d1=f.readlines()
l1=[]
for line in d1:
    line=line.strip('\n')
    line=line.split('\t')
    l1.append(line)

file=open (filename,'w',encoding='utf-8')    

a=2
while a==2:
    n=int(input('输入随机抽点的人数n:'))
    if n!=0:
         b=random.sample(l1,n)
         for j in b:
             l1.remove(j)
             c=' '.join(j)
             print(c)
             file.writelines(c+'\n')
                 
                 
    else:
        print('{:=^40}'.format('抽点结束'))
        break
file.close()
    

实验总结:1.在排序时可以将列表转换为字典再利用lambda(x:代表要进行排序参数的位置)函数对值进行排序,不改变相应的键值对应关系

2.list.append(a+b+c)可以用加号连接进行多个字符串连成一个字符串写进列表中

3.''.join(list)可以实现将列表转换为字符串

标签:文件,编程,datetime,实验,l3,l1,line,append,d1
来源: https://www.cnblogs.com/123gan/p/16295530.html

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

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

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

ICode9版权所有