6.3
def is_valid(x): data=x if len(data)!=18: return False else: if ord(data[-1])==88 or 48<=ord(data[-1])<=57: return True else: return False with open('data3_id.txt','r')as f: data=f.readlines() for i in data: info = [line.rstrip('\n').split(',') for line in data] m=info[0] del info[0] a=[] for i in info: if is_valid(i[1])==True: a.append([i[0],i[1][6:10]+'-'+i[1][10:12]+'-'+i[1][12:14]]) a.sort(key=lambda x:x[1]) for i in a: print(f'{i[0]},{i[1]}')

6.5.1
import random with open('data5.txt','r')as f: data=f.readlines() info=[line.rstrip('\n') for line in data] a = [line.split('\t') for line in info] import random a=random.sample(a, 5) for i in a: print('{:<10}{:<10}{:30}'.format(i[0],i[1],i[2])) import datetime t=datetime.datetime.now() with open(t.strftime('%Y%m%d') + '.txt', 'w')as f: for i in a: f.write('{:<30}{:<20}{:<10}'.format(i[0],i[1],i[2])+'\n')

6.5.2
import random with open('data5.txt','r')as f: data=f.readlines() a=[line.rstrip('\n').split(',') for line in data] m='抽点开始' c=[] import random print(f'{m:=^40}') while True: n=eval(input('入随机抽点人数:')) b=random.sample(a, n) for i in b: a.remove(i) if n>0: for i in b: print(i[0]) c.append(i[0]) else: n='抽点结束' print(f'{n:=^40}') break import datetime t=datetime.datetime.now() with open(t.strftime('%Y%m%d') + '.txt', 'w')as f: for i in c: f.write(i+'\n')

实验总结
列表对齐输出尚未完全明白。
浙公网安备 33010602011771号