实验6 文件应用编程-2

task 3 

 1 def is_valid(m):
 2     if len(m)==18 and m.isdigit():
 3         return '合法'
 4     elif len(m)==18 and m[-1]=='X':
 5         return '合法'
 6     else:
 7         return '不合法'
 8 
 9 with open('data3_id.txt','r',encoding = 'utf-8') as f:
10     data = f.readlines()
11 list = []
12 for i in data:
13     data_ = i.strip('\n')
14     if is_valid(data_[3:]) == '合法':
15         list.append(data_)
16 list.sort(key=lambda x: x[9:13])
17 for m in list:
18     print('{},{}-{}-{}'.format(m[:2],m[9:13],m[13:15],m[15:17]))

task 5_1

 1 import random
 2 import datetime
 3 t = datetime.datetime.now()
 4 m = eval(input('输入随机抽点人数:'))
 5 with open('data5.txt', encoding = 'utf-8') as f:
 6     data = f.readlines()
 7 list = []
 8 for i in range(m):
 9     x = random.choice(data)
10     list.append(x)
11     data.remove(x)
12 filename = t.strftime('%Y%m%d') + '.txt'
13 with open(filename, "w+", encoding="utf-8") as f:
14     f.writelines(list)
15     f.seek(0)
16     print(f.read())

task 5_2

 1 import random
 2 import datetime
 3 t = datetime.datetime.now()
 4 print("{0:{1}{3}{2}}".format("抽点开始", "=", 40, "^"))
 5 list_ = []
 6 while True:
 7     n = eval(input("输入随机抽点人数: "))
 8     if n == 0:
 9         break
10     else:
11         with open("data5.txt", encoding="utf-8") as f:
12             data = f.readlines()
13         list = []
14         for i in range(n):
15             x = random.choice(data)
16             list.append(x)
17             data.remove(x)
18         with open("20220517.txt", "w+", encoding="utf-8") as f:
19             f.writelines(list)
20             f.seek(0)
21             print(f.read())
22     list_ += list
23 filename = t.strftime('%Y%m%d') + '.txt'
24 with open(filename, "w", encoding="utf-8") as f:
25     f.writelines(list_)
26 print("{0:{1}{3}{2}}".format("抽点结束", "=", 40, "^"))

实验总结

调取系统时间,格式化等部分操作不够熟练,要加强练习

 

posted @ 2022-05-21 10:37  熊猫小丸子  阅读(25)  评论(2编辑  收藏  举报