实验6

task3

with open('data3_id.txt', 'r', encoding='utf-8') as f:
    data = f.readlines()
    info = [line.rstrip('\n').split(',') for line in data]
    info.remove(info[0])


def is_valid(idnum):
    if len(idnum) == 18:
        if idnum.isalnum() is True:
            if idnum[-1] == 'X' or idnum[-1].isdigit() is True:
                return True
            else:
                return False
    elif len(idnum) != 18:
        return False


new = []
for line in info:
    Id = line[1]
    if is_valid(Id) is True:
        born_y = Id[6:10]
        born_m = Id[10:12]
        born_d = Id[12:14]
        own = [line[0], born_y, born_m, born_d]
        new.append(own)

a = sorted(new, key=lambda x: x[1])
for name in a:
    print(f'{name[0]},{name[1]}-{name[2]}-{name[3]}')

 

 task5.1

import datetime
import random


with open('data5.txt', 'r', encoding='utf-8')as f:
    info = f.read().strip('\n').split('\n')
    data = [i.split('\t') for i in info]
x = eval(input('输入随机抽点人数:'))
choose = random.sample(data, x)

t = datetime.datetime.now()
with open(t.strftime('%Y%m%d') + '.txt', 'w', encoding='utf-8')as f:
    for line in choose:
        f.write('\t'.join(line)+'\n')
        print('\t'.join(line))

 

 

task5.2

 

import random
import datetime

print('{:=^30}'.format('抽点开始'))

with open('data5.txt', 'r', encoding='utf-8')as f:
info = f.read().strip('\n').split('\n')
data = [i.split('\t') for i in info]

choose2 = []
while True:
x = eval(input('输入抽点人数:'))
if x != 0:
choose = random.sample(data, x)
for i in choose:
m = '\t'.join(i)
print(m)
choose2.append(m)
else:
print('{:=^30}'.format('点名结束'))
break
t = datetime.datetime.now()
with open(t.strftime('%Y%m%d') + '.txt', 'w', encoding='utf-8')as f:
for line in choose2:
f.write(''.join(line)+'\n')




 

 

 

posted @ 2022-05-24 21:38  东揚  阅读(24)  评论(3)    收藏  举报