实验五
任务六
实验源码
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_processed.csv','w',encoding='gbk',newline='') as f : 36 f_writer=csv.writer(f) 37 f_writer.writerow(title) 38 f_writer.writerows(data_new)
运行结果截图


实验源码
1 with open(r"C:\Users\scy20030602\OneDrive\文档\Tencent Files\2420994345\FileRecv\实验5数据文件\实验5数据文件\data7.csv",'r', 2 encoding='gbk') as f: 3 data=f.readlines() 4 5 data0=[i.strip('\n').split(',') for i in data] 6 data0.remove(data0[0]) 7 8 data1=sorted(data0,key=lambda x:(x[2],-int(x[3]))) 9 10 print(f'{"学号":10s}{"姓名":10s}{"专业":10s}{"分数":10s}') 11 for h,i,j,k in data1: 12 print(f'{h:10s}{i:10s}{j:10s}{k:10s}') 13 14 with open(r'C:\Users\28678\Downloads\实验5数据文件\data7_processed.csv','w', 15 encoding='gbk') as f: 16 f.write('学号,姓名,专业,分数\n') 17 for i in range(len(data1)): 18 f.write(','.join(data1[i])+'\n')
运行结果截图


任务八
实验源码
1 with open(r"C:\Users\scy20030602\OneDrive\文档\Tencent Files\2420994345\FileRecv\实验5数据文件\实验5数据文件\hamlet.txt",'r') as f: 2 data=f.read() 3 4 print('hamlet.txt粗略统计:') 5 print(f'行数:{len(data.splitlines())}') 6 print(f'单词数:{len(data.split())}') 7 print(f'字符数:{len(data)}') 8 print(f'空格数:{data.count(" ")}') 9 10 data1=data.splitlines() 11 data2=[] 12 for i in range(len(data1)): 13 data2.append(f'{i+1} '+data1[i]+'\n') 14 15 with open(r'C:\Users\28678\Downloads\实验5数据文件\hamlet_with_line_number.txt', 16 'w') as f: 17 f.writelines(data2)
运行结果截图


任务九
实验源码
1 def is_valid(id): 2 if len(id)==18 and id[:-1].isdigit() and (id[-1].isdigit() or id[-1]=='X'): 3 return True 4 else: 5 return False 6 7 with open(r"C:\Users\scy20030602\OneDrive\文档\Tencent Files\2420994345\FileRecv\实验5数据文件\实验5数据文件\data9_id.txt",'r') as f: 8 data=f.readlines() 9 10 data.remove(data[0]) 11 data0=[i.strip('\n').split(',') for i in data] 12 13 data1=[] 14 for i in data0: 15 if is_valid(i[1])==True: 16 i[1]=i[1][6:14] 17 data1.append(i) 18 19 import datetime 20 t=datetime.datetime.now() 21 y=t.strftime('%Y%m%d') 22 for i in data1: 23 i.append(str(int(y)-int(i[1][0:8]))) 24 25 data2=sorted(data1,key=lambda x:-int(x[2])) 26 27 print('姓名, 出生日期, 年龄') 28 for i in data2: 29 i[1]=i[1][0:4]+'-'+i[1][4:6]+'-'+i[1][6:8] 30 i[2]=i[2][0:2] 31 print(', '.join(i))

任务十
1 with open('data10_stu.txt','r',encoding='utf-8') as f: 2 data = f.readlines() 3 print('{:*^40}'.format('抽点开始')) 4 n = int(input('输入随机抽点人数:')) 5 import random 6 x = [] 7 x2 = '' 8 counts = 0 9 while counts < n: 10 new = random.randint(0, len(data) - 1) 11 if new in x: 12 new = random.randint(0, len(data) - 1) 13 else: 14 counts +=1 15 x.append(new) 16 for i in range(n): 17 print(data[x[i]]) 18 x2 += data[x[i]] 19 sum1 += n 20 with open('20230602.txt','w',encoding='utf-8') as f: 21 f.writelines(x2)
运行结果截图


1 with open('data10_stu.txt','r',encoding='utf-8') as f: 2 data = f.readlines() 3 print('{:*^40}'.format('抽点开始')) 4 n = int(input('输入随机抽点人数:')) 5 import random 6 x = [] 7 sum1 = 0 8 x2 = '' 9 while n != 0: 10 counts = 0 11 while counts < n: 12 new = random.randint(0, len(data) - 1) 13 if new in x: 14 new = random.randint(0, len(data) - 1) 15 else: 16 counts +=1 17 x.append(new) 18 for i in range(sum1,sum1+n): 19 print(data[x[i]]) 20 x2 += data[x[i]] 21 sum1 += n 22 n = int(input('输入随机抽点人数:')) 23 24 with open('20230602.txt','w',encoding='utf-8') as f: 25 f.writelines(x2) 26 27 print('{:*^40}'.format('抽点结束'))



浙公网安备 33010602011771号