实验五
实验任务六
task6.py
with open('data6.csv', 'r',encoding='gbk') as f: old_data = f.read().split('\n') del old_data[0] processed_data = [] for i in range(len(old_data)): if eval(old_data[i]) + 0.5 >= int(eval(old_data[i])) + 1: processed_data.append(str(int(eval(old_data[i])) + 1)) else: processed_data.append(str(int(eval(old_data[i])))) title=['原始数据','四舍五入后数据'] new = [] for i in range(len(old_data)): new.append([old_data[i],processed_data[i]]) with open('data6_processed.csv','w',encoding = 'gbk') as f: f.write(','.join(title)+'/n') for i in new: f.write(','.join(i) + '\n') print('原始数据:') print(old_data) print(f'四舍五入后数据:') print(new)


实验任务七
task7.py
with open('data7.csv','r',encoding='gbk') as f: data = f.read().split('\n') del data[0] lsta = [] lstb = [] for i in data: lst1 = i.split(',') if lst1[2] == 'Acting': lsta.append(lst1) else: lstb.append(lst1) lstb.sort(key=lambda x:x[-1],reverse = True) lsta.sort(key=lambda x:x[-1],reverse = True) info = lsta + lstb title = ['学号','姓名','专业','分数'] with open('data7_processed.csv','w',encoding='gbk') as f: f.write(','.join(title)+'\n') for items in info: f.write(','.join(items)+'\n') print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3])) for i in info: print('{:<10}'.format(i[0]),'{:<10}'.format(i[1]),'{:<10}'.format(i[2]),'{:<15}'.format(i[3]))
运行结果


实验任务九
程序源代码
def is_valid(a): if len(a) != 18: return False elif (a[:-1].isnumeric() and a[-1] == 'X') or (a.isnumeric()): return True else: return False with open('data9_id.txt','r') as f: data = f.read().split('\n') del data[0] data1 = [] print('姓名,出生日期,年龄') for i in data: lst = i.split(',') data1.append(lst) lst1 = [] import datetime t = datetime.datetime.now().year for i in data1: if is_valid(i[1]) == True: name = i[0] btd = i[1][6:14] age = str(int(t)-int(i[1][6:10])) lst1.append([name,btd,age]) lst1.sort(key=lambda x:x[2],reverse=True) for i in lst1: print(i[0],end=',') print(f'{i[1][:4]}-{i[1][4:6]}-{i[1][6:8]}',end=',') print(i[2])
运行结果

实验任务十
程序源代码
with open('data10_stu.txt','r',encoding='utf-8') as f: data = f.readlines() n = int(input('输入随机抽点人数:')) import random x = [] x2 = '' counts = 0 while counts < n: new = random.randint(0, len(data) - 1) if new in x: new = random.randint(0, len(data) - 1) else: counts +=1 x.append(new) for i in range(n): print(data[x[i]]) x2 += data[x[i]] with open('20230602.txt','w',encoding='utf-8') as f: f.writelines(x2)
运行结果


程序源代码
with open('data10_stu.txt','r',encoding = 'utf-8') as f: data = f.readlines() data1 = [i.strip('\n').split(',') for i in data] print('{:*^40}'.format('抽点开始')) n = int(input('输入随机抽点人数:')) d= [] while n!=0: import random x = list(range(len(data1))) t = random.sample(x,n) for i in t: d.append(data[i]) for j in data1[i]: print(j) n = int(input('输入随机抽点人数:')) else: print('{:*^40}'.format('抽点结束')) with open('20230605.txt','w',encoding='utf-8') as f: for i in d: f.write(''.join(i)+'\n')
运行结果


浙公网安备 33010602011771号