首页 > 其他分享 >实验5

实验5

时间:2023-06-06 17:55:24浏览次数:28  
标签:old encoding open 实验 print new data

task6

 1 with open('data6.csv','r',encoding = 'gbk') as f:
 2     old_data = f.read().split('\n')
 3 del old_data[0]
 4 
 5 new_data = []
 6 for i in range(len(old_data)):
 7     if eval(old_data[i]) + float(0.5) >= int(eval(old_data[i])) + 1:
 8         new_data.append(str(int(eval(old_data[i]))+1))
 9     else:
10         new_data.append(str(int(eval(old_data[i]))))
11 
12 title = ['原始数据','四舍五入后数据']
13 data = []
14 for i in range(len(old_data)):
15     data.append([old_data[i],new_data[i]])
16 
17 with open('data6.csv','w',encoding = 'gbk') as f:
18     f.write(','.join(title) + '\n')
19     for i in data:
20         f.write(','.join(i) + '\n')
21 print('原始数据:')
22 print(old_data)
23 print('四舍五入后数据:')
24 print(new_data)

task7

 1 with open('data7.csv','r',encoding='gbk') as f:
 2     data1 = f.read().split('\n')
 3 del data1[0]
 4 lsta = []
 5 lstm = []
 6 for i in data1:
 7     lst1 = i.split(',')
 8     if lst1[2] == 'Acting':
 9         lsta.append(lst1)
10     else:lstm.append(lst1)
11 lstm.sort(key=lambda x:x[-1],reverse = True)
12 lsta.sort(key=lambda x:x[-1],reverse = True)
13 info = lsta + lstm
14 title = ['学号','姓名','专业','分数']
15 with open('data7_processed.csv','w',encoding='utf-8') as f:
16     f.write(','.join(title)+'\n')
17     for items in info:
18         f.write(','.join(items)+'\n')
19 print('{:<10}'.format(title[0]),'{:<10}'.format(title[1]),'{:<10}'.format(title[2]),'{:<15}'.format(title[3]))
20 for i in info:
21     print('{:<10}'.format(i[0]),'{:<10}'.format(i[1]),'{:<10}'.format(i[2]),'{:<15}'.format(i[3]))

task8

 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')

task9

 1 def is_valid(sfz):
 2     if len(sfz) != 18:
 3         return False
 4     elif (sfz[:-1].isnumeric() and sfz[-1] == 'X') or sfz.isnumeric():
 5         return True
 6     else:return False
 7 
 8 
 9 with open('data9_id.txt','r',encoding='utf-8') as f:
10     data = f.read().split('\n')
11 del data[0]
12 data2 = []
13 data3 =[]
14 print('姓名,出生日期,年龄')
15 for i in data:
16     lst = i.split(',')
17     data2.append(lst)
18 lst2 = []
19 for i in data2:
20     if is_valid(i[1]) == True:
21         name = i[0]
22         btd = i[1][6:14]
23         age = str(2023 - int(i[1][6:10]))
24         lst2.append([name,btd,age])
25 lst2.sort(key=lambda x:x[2],reverse=True)
26 for i in lst2:
27     print(i[0],end=',')
28     print(f'{i[1][:4]}-{i[1][4:6]}-{i[1][6:8]}',end=',')
29     print(i[2])

task10-1

 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 sum1 = 0
17 for i in range(n):
18     print(data[x[i]])
19     x2 += data[x[i]]
20     sum1 += n
21 with open('20230602.txt','w',encoding='utf-8') as f:
22     f.writelines(x2)

task10-2

 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('抽点结束'))

 

标签:old,encoding,open,实验,print,new,data
From: https://www.cnblogs.com/1abc/p/17461290.html

相关文章

  • 实验五
    6:1withopen('data6.csv','r',encoding='gbk')asf:2raw_data=f.read().split('\n')3title1=['原始数据']45data1=[float(i)foriinraw_data[1:]]6print(f'{title1[0]}:')......
  • 实验5
    #6实验内容:1#62withopen('data6.csv','r',encoding='gbk')asf:3f1=f.readlines()4f1=list(f1)5l1=[]6l2=[]7title=['原始数据','四舍五入后数据']8info1=f1[1:]9f2=[[str(eval(i)),str(round(e......
  • 实验六
    task1_1fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red')move(-200,0)draw(3)......
  • 实验5
    task6withopen('data6.csv','r',encoding='gbk')asf:data=list(f.readlines())data=[i.strip('\n')foriindata]importdecimaldecimal.getcontext().rounding='ROUND_HALF_UP'title=[data[0],'四......
  • 《大学物理实验上》期末笔记(一)不确定度的计算
    《大学物理实验上》期末笔记(一)不确定度的计算什么是不确定度?​ ★不确定度表示测量值可能变动(不能确定)的范围,也是与测量结果相关的一个参数,用于合理表示由于测量误差的存在而对被测量值的不能肯定的程度。​ 简单来说,我们测得一组值,分别为\(x_1,x_2,x_3...x_n\),我们可以通过......
  • 经纬恒润整车在环测试实验室发布新技术特性
        作为国内最早开展整车在环仿真测试技术预研的企业之一,经纬恒润自2016年起,正式启动了整车在环仿真相关技术的预研工作。整车在环实现了从半实物仿真到机械混合仿真的跨步,将功能测试与性能测试打包整合,从整车完整的功能和机械表现,评价了车辆整体能力。近年来,伴随着汽车行......
  • 2023年5月31日吴曦远202283820011实验五
    task1_1.pycode:withopen('data1.txt','r',encoding='utf-8')asf:data=f.readlines()n=0print(data)forlineindata:ifnotline.strip()=='':n+=1print(n)output:note:ifdelet"not"......
  • 实验5
    实验任务6withopen('C:/Users/Lenovo/Desktop/data6.csv','r',encoding='gbk')asf:data1=f.read().split('\n')deldata1[0]foriinrange(len(data1)):data1[i]=eval(data1[i])data1[i]=float(data1[i])p......
  • 实验6 turtle绘图和Python库应用编程体验
    实验任务1task1_1.py源代码1fromturtleimport*23defmove(x,y):4penup()5goto(x,y)6pendown()78defdraw(n,size=100):9foriinrange(n):10fd(size)11left(360/n)1213defmain():14pensize(2)1......
  • 实验5
     with open('data6.csv','r',encoding='gbk') as f:  data1 = f.read().split('\n')del data1[0]print('原始数据:')print(data1)for i in range(len(data1)):    data1[i] = float(data1[i])data2 = []for i in ra......