实验任务6 task6.py
1 with open('data6.csv', 'r', encoding='gbk') as f: 2 old_data = f.read().split('\n') 3 del old_data[0] 4 processed_data = [] 5 for i in range(len(old_data)): 6 if eval(old_data[i]) + 0.5 >= int(eval(old_data[i])) + 1: 7 processed_data.append(str(int(eval(old_data[i])) + 1)) 8 else: 9 processed_data.append(str(int(eval(old_data[i])))) 10 title = ['原始数据', '四舍五入后数据'] 11 new = [] 12 for i in range(len(old_data)): 13 new.append([old_data[i], processed_data[i]]) 14 with open('data6_processed.csv','w',encoding = 'gbk') as f: 15 f.write(','.join(title)+'/n') 16 for i in new: 17 f.write(','.join(i) + '\n') 18 print('原始数据:') 19 print(old_data) 20 print(f'四舍五入后数据:') 21 print(new)
实验任务7 task7.py
1 with open('data7.csv','r',encoding='gbk') as f: 2 data = f.read().split('\n') 3 del data[0] 4 lsta = [] 5 lstb = [] 6 for i in data: 7 lst1 = i.split(',') 8 if lst1[2] == 'Acting': 9 lsta.append(lst1) 10 else: 11 lstb.append(lst1) 12 lstb.sort(key=lambda x:x[-1],reverse = True) 13 lsta.sort(key=lambda x:x[-1],reverse = True) 14 info = lsta + lstb 15 title = ['学号','姓名','专业','分数'] 16 with open('data7_processed.csv','w',encoding='gbk') as f: 17 f.write(','.join(title)+'\n') 18 for items in info: 19 f.write(','.join(items)+'\n') 20 print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3])) 21 for i in info: 22 print('{:<10}'.format(i[0]),'{:<10}'.format(i[1]),'{:<10}'.format(i[2]),'{:<15}'.format(i[3]))
实验任务8 task8.py
1 with open('hamlet.txt','r') as f: 2 data = f.read() 3 print('hamlet.txt粗略统计:') 4 data1 = data.splitlines() 5 print(f'行数:{len(data1)}') 6 print(f'单词数:{len(data.split())}') 7 print(f'字符数:{len(data)}') 8 k = data.count(' ') 9 print(f'空格数:{k}') 10 11 data2=[] 12 for i in range(len(data1)): 13 data2.append(f'{i+1} '+ data1[i] + '\n')14 14 with open('hamlet_with_line_number.txt','w') as f: 15 f.writelines(data2)
实验任务9 task9.py
1 def is_valid(a): 2 if len(a) != 18: 3 return False 4 elif (a[:-1].isnumeric() and a[-1] == 'X') or (a.isnumeric()): 5 return True 6 else: 7 return False 8 9 with open('data9_id.txt','r') as f: 10 data = f.read().split('\n') 11 del data[0] 12 data1 = [] 13 print('姓名,出生日期,年龄') 14 for i in data: 15 lst = i.split(',') 16 data1.append(lst) 17 lst1 = [] 18 import datetime 19 t = datetime.datetime.now().year 20 for i in data1: 21 if is_valid(i[1]) == True: 22 name = i[0] 23 btd = i[1][6:14] 24 age = str(int(t)-int(i[1][6:10])) 25 lst1.append([name,btd,age]) 26 lst1.sort(key=lambda x:x[2],reverse=True) 27 for i in lst1: 28 print(i[0],end=',') 29 print(f'{i[1][:4]}-{i[1][4:6]}-{i[1][6:8]}',end=',') 30 print(i[2])
实验任务10 task10_1.py
1 with open('data10_stu.txt','r',encoding='utf-8') as f: 2 data = f.readlines() 3 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 20 with open('20230602.txt','w',encoding='utf-8') as f: 21 f.writelines(x2)
task10_2.py
1 with open('data10_stu.txt','r',encoding = 'utf-8') as f: 2 data = f.readlines() 3 4 data1 = [i.strip('\n').split(',') for i in data] 5 6 print('{:*^40}'.format('抽点开始')) 7 n = int(input('输入随机抽点人数:')) 8 d= [] 9 while n!=0: 10 import random 11 x = list(range(len(data1))) 12 t = random.sample(x,n) 13 for i in t: 14 d.append(data[i]) 15 for j in data1[i]: 16 print(j) 17 n = int(input('输入随机抽点人数:')) 18 else: 19 print('{:*^40}'.format('抽点结束')) 20 21 22 with open('20230605.txt','w',encoding='utf-8') as f: 23 for i in d: 24 f.write(''.join(i)+'\n')
标签:old,open,len,实验,print,data,append From: https://www.cnblogs.com/zjyuan1013/p/17462115.html