实验6 文件应用编程-2

 实验任务3:
1
def is_valid(a): 2 if len(a)==18 : 3 if a.isdigit() or( a[:-1].isdigit() and a[-1]=='X'): 4 return True 5 else: 6 return False 7 else: 8 return False 9 with open('data3_id.txt','r',encoding='utf-8') as f: 10 x=f.read().strip('\n').split() 11 x.pop(0) 12 list=[] 13 for i in range(len(x)): 14 a=x[i].split(',') 15 if is_valid(a[1])==True: 16 list.append(a) 17 for x in list: 18 list.sort(key=lambda x:int(str(x[1]) [6:14])) 19 for j in list: 20 print(f'{j[0]},{j[1][6:10]}-{j[1][10:12]}-{j[1][12:14]}')
 实验任务5:
task5_1.py:
1
import random 2 import datetime 3 n=eval(input('输入随机抽点人数:')) 4 dic=[] 5 with open('data5.txt','r',encoding='utf-8') as f: 6 for i in f.readlines(): 7 line=i.strip('\n') 8 dic.append(line) 9 b=random.sample(dic,n) 10 c=datetime.datetime.now() 11 d=c.strftime('%Y%m%d')+'.txt' 12 with open(d,'w',encoding='utf-8') as g: 13 for j in b: 14 g.write(j+'\n') 15 print(j)

 实验任务5:
task5_2.py:
1
import random 2 import datetime 3 print('{:=^40}'.format('抽点开始')) 4 dic=[] 5 data=set() 6 with open('data5.txt','r',encoding='utf-8') as f: 7 for i in f.readlines(): 8 line=i.strip('\n') 9 dic.append(line) 10 while True: 11 n=eval(input('输入随机抽点人数:')) 12 if n!=0: 13 b=random.sample(dic,n) 14 for k in b: 15 print(k) 16 data.add(k) 17 else: 18 break 19 20 print('{:=^40}'.format('抽点结束')) 21 c=datetime.datetime.now() 22 d=c.strftime('%Y%m%d')+'.txt' 23 with open(d,'w',encoding='utf-8') as g: 24 for j in data: 25 g.write(j+'\n')

实验总结:

1、学会了如何使用random和datatime模板;

2、巩固加深了如何将文件里的数据写入列表;

3、还需要熟悉python常用的一些知识点。

posted @ 2022-05-19 20:38  暮渎  阅读(23)  评论(1编辑  收藏  举报