实验五
实验任务6
实验源码
1 with open('data6.csv','r',encoding='gbk')as f: 2 data=list(f.readlines()) 3 data=[i.strip('\n') for i in data ] 4 5 import decimal 6 decimal.getcontext().rounding='ROUND_HALF_UP' 7 title=[data[0],'四舍五入后的数据'] 8 data_new=[] 9 data_o=[] 10 for i in data: 11 if not i.isalpha() is True: 12 data_o.append(eval(i)) 13 print('原始数据:') 14 print(data_o) 15 for i in data: 16 if not i.isalpha() is True: 17 data_new.append([i]) 18 19 data_=[] 20 for i in data: 21 if not i.isalpha() is True: 22 index=data.index(i)-1 23 i=eval(i) 24 if i-int(i)>=0.5: 25 i=int(i)+1 26 data_new[index].append(str(i)) 27 data_.append(i) 28 else: 29 i=int(i) 30 data_new[index].append(str(i)) 31 data_.append(i) 32 print('四舍五入后的数据:') 33 print(data_) 34 import csv 35 with open('data6_after.csv','w',encoding='gbk',newline='') as f : 36 f_writer=csv.writer(f) 37 f_writer.writerow(title) 38 f_writer.writerows(data_new)
运行测试截图


实验任务7
实验源码
1 with open('data7.csv','r',encoding='gbk')as f: 2 title=[f.readline()] 3 data=f.readlines() 4 def getscore(ls): 5 return ls[len(ls)-1] 6 7 data=[line.strip('\n').split(',')for line in data] 8 9 data.sort(key=lambda x:(x[2],-int(x[3]))) 10 11 12 with open('data7_processed.csv', 'w', encoding = 'gbk') as f: 13 f.write(','.join(title)) 14 for item in data: 15 f.write(','.join(item) + '\n') 16 title=title[0].strip('\n').split(',') 17 18 print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3])) 19 for i in data: 20 print('{:<10}'.format(i[0]), '{:<10}'.format(i[1]), '{:<10}'.format(i[2]), '{:<10}'.format(i[3]))
运行测试截图


实验任务8
实验源码
1 with open('hamlet.txt','r',encoding='utf-8')as f: 2 data=f.readlines() 3 print('行数:',len(data)) 4 5 x='' 6 for line in data: 7 x+=line 8 alpha=0 9 b=0 10 for i in x: 11 if i.isalpha(): 12 alpha+=1 13 else: 14 b+=1 15 16 word=len(x.split()) 17 print('字符数:',alpha+b) 18 print('单词数:',word) 19 print('空格数:',x.count(' ')) 20 data = [line.strip('\n').split(',') for line in data] 21 with open('hamlet_with_line_number','w',encoding='utf-8') as f: 22 for i,j in enumerate(data,start=1): 23 j=j[0] 24 f.write("{}{}{}".format(i,' ',j)+'\n')
运行测试截图


实验任务9
实验源码
1 import datetime 2 t = datetime.datetime.now() 3 filename = t.strftime('%Y%m%d') + '.txt' 4 n=eval(input('输入随机抽取人数:')) 5 with open('data10_stu.txt', 'r', encoding = 'utf-8') as f: 6 data=f.readlines() 7 8 9 def random_selection(n): 10 import random 11 demo = random.sample(data, n) 12 return demo 13 x=random_selection(n) 14 for i in x : 15 print(i) 16 17 18 with open(filename,'w',encoding='utf-8')as f: 19 f.writelines(x)
运行测试截图

实验任务10-1
实验源码
1 import datetime 2 t = datetime.datetime.now() 3 filename = t.strftime('%Y%m%d') + '.txt' 4 n=eval(input('输入随机抽取人数:')) 5 with open('data10_stu.txt', 'r', encoding = 'utf-8') as f: 6 data=f.readlines() 7 8 9 def random_selection(n): 10 import random 11 demo = random.sample(data, n) 12 return demo 13 x=random_selection(n) 14 for i in x : 15 print(i) 16 17 18 with open(filename,'w',encoding='utf-8')as f: 19 f.writelines(x)
运行测试截图


实验任务10-2
实验源码
1 import datetime 2 t = datetime.datetime.now() 3 filename = t.strftime('%Y%m%d') + '.txt' 4 start='抽取开始' 5 print(start.center(50,'*')) 6 with open('data10_stu.txt', 'r', encoding='utf-8') as f: 7 data = f.readlines() 8 9 def random_selection(n): 10 import random 11 demo = random.sample(data, n) 12 return demo 13 selection=set() 14 numbers=[] 15 16 while True: 17 n = eval(input('输入随机抽点人数:')) 18 if n != 0: 19 x=random_selection(n) 20 for i in x: 21 print(i) 22 data.remove(i) 23 with open(filename,'a',encoding='utf-8') as f : 24 f.writelines(i) 25 else: 26 print('抽取结束'.center(50,'*')) 27 break
运行测试截图



浙公网安备 33010602011771号