试验五

任务六

with open ('data6.csv','r',encoding='gbk')as f:
    o,g=[],[]
    reader=f.readlines()
    for i in range(1,len(reader)):
        x=eval(reader[i].strip('\n'))
        o.append(x)
        g.append(int(x+0.5))
        reader[i]=[str(x),str(int(x+0.5))]
    reader[0] = [reader[0].strip('\n'), '四舍五入后数据']
    print('原始数据:\n',o)
    print('四舍五入后数据:\n', g)
with open('data6.csv','w',encoding='gbk')as f:
    for i in range(len(reader)):
        f.write(','.join(reader[i])+'\n')

 任务七

 1 with open('data7.csv','r',encoding='gbk')as f:
 2     read=f.readlines()
 3 data=[read[i].strip('\n').split(',') for i in range(1,len(read))]
 4 title=read[0].strip('\n').split(',')
 5 s=sorted(data,key=lambda x:x[3],reverse=True)
 6 e=sorted(s,key=lambda x:x[2])
 7 for i in title:
 8     print(i,end='        ')
 9 for i in e:
10     print()
11     for x in i:
12         print(f'{x:<5}',end='      ')
13 with open('data7.csv','w',encoding='gbk')as f:
14     f.write(','.join(title) + '\n')
15     for item in e:  
16         f.write(','.join(item) + '\n')

任务八

 1 with open('hamlet.txt','r',encoding='utf-8')as f:
 2     l=f.read()
 3 n=l.split()
 4 x=l.split('\n')
 5 print('行数:',len(x))
 6 print('单词数:',len(n))
 7 print('字符数:',len(l))
 8 print('空格数:',l.count(' '))
 9 with open('hamlet_with_line_number.txt','w',encoding='utf-8')as f:
10     for i in range(len(x)):
11         f.write(f'{i+1} '+x[i]+'\n')

任务九

 1 def is_valid(x):
 2     if len(x)!=18:
 3         return False
 4     for i in range(len(x)-1):
 5         if x[i] not in '1234567890':
 6             return False
 7     if x[17] not in '1234567890X':
 8         return False
 9     else:
10         return True
11 with open('data9_id.txt','r',encoding='utf-8')as f:
12     data=f.readlines()
13 l=[line.strip('\n').split(',') for line in data]
14 x=[i for i in l if is_valid(i[1])]
15 for i in x:
16     i.append(2023 - eval(i[1][6:10]))
17     i[1]=i[1][6:10]+'-'+i[1][10:12]+'-'+i[1][12:14]
18 x=sorted(x,key=lambda i:i[2],reverse=True)
19 print('姓名','出生日期','年龄')
20 for i in x:
21     print(','.join(str(a) for a in i))

任务十

 1 import datetime
 2 import random
 3 with open('data10_stu.txt','r',encoding='utf-8')as f:
 4     data=f.readlines()
 5 m=datetime.date.today()
 6 print('*'*14+'抽点开始'+'*'*14)
 7 y,x=set(),0
 8 while True:
 9     c,n=set(),eval(input('输入随机抽点人数:'))
10     x+=n
11     if n==0:
12         print('*'*14+'抽点结束'+'*'*14)
13         break
14     while len(y)<x:
15         a=random.randint(0,79)
16         if data[a] not in y:
17             c.add(data[a])
18         y.add(data[a])
19     for i in list(c):
20         print(i.strip('\n'))
21 with open(f'{m}.txt','w',encoding='utf-8')as f:
22     for i in list(y):
23         f.write(i)

 

posted @ 2023-06-07 01:12  (o‿∩)  阅读(23)  评论(0)    收藏  举报