实验6 文件应用编程-2

一、实验任务

1.实验任务3

task3.py:

 1 def is_valid(ID):
 2     ID=str(ID)
 3     if len(str(ID))!=18:
 4         return False
 5     elif  ID[0:17].isdigit() and (ID[17].isdigit() or ID[17]=='X'):
 6         return True
 7     return False
 8 with open ("D:\桌面\实验6数据文件\data3_id.txt",'r',encoding='utf-8')as f1:
 9     a=f1.readlines()
10     a.pop(0)
11     b=[i.strip('\n').split(',')for i in a]
12     c=[i[1] for i in b]
13     e=[]
14     for i in c:
15         n=is_valid(i)
16         if n==True:
17             m=c.index(i)
18             e.append(b[m])
19     for i in e:
20         y=sorted(e,key=lambda i:i[1][6:14])
21     for j in y:
22         print(f'{j[0]},{j[1][6:10]}-{j[1][10:12]}-{j[1][12:14]}')

运行截图:

2.实验任务5

task5_1.py:

 1 import random
 2 import datetime
 3 num=input('输入随机抽点人数:')
 4 with open("D:\桌面\实验6数据文件\data5.txt",'r',encoding='utf-8')as f1:
 5     a=f1.readlines()
 6     b=[i.strip('\n')for i in a]
 7     sam=random.sample(b,int(num))
 8     time=datetime.datetime.now()
 9     name=time.strftime('%Y%m%d') + '.txt'
10     for i in sam:
11         print(i)
12 with open(f'{name}','w',encoding='utf-8')as f2:
13     for i in sam:
14         f2.write(i+'\n')

运行截图:

 

task5_2.py:

 1 import random
 2 import datetime
 3 with open("D:\桌面\实验6数据文件\data5.txt",'r',encoding='utf-8')as f1:
 4     a=f1.readlines()
 5     b=[i.strip('\n')for i in a]
 6     time=datetime.datetime.now()
 7     name=time.strftime('%Y%m%d') + '.txt'
 8     c=[]
 9     while True:
10         num=int(input('输入随机抽点人数:'))
11         if num!=0:
12             sam=random.sample(b,int(num))
13             for i in sam:
14                 print(i)
15                 c.append(i)
16         else:
17             break
18     d=set()
19     d.update(c)
20 with open(f'{name}','w',encoding='utf-8')as f2:
21     for i in d:
22         f2.write(i+'\n')

运行截图:

 

 二、实验总结

通过本次实验,我对Python内置的文件读写基础操作(打开/关闭、读、写、遍历)更加熟练了,也对 CSV格式文件读写基础操作有所熟悉,更加巩固了字符串、列表、字典等组合数据类型常用操作。

posted @ 2022-05-21 10:19  Dimple$  阅读(22)  评论(1编辑  收藏  举报