首页 > 其他分享 >实验5

实验5

时间:2023-06-05 20:24:20浏览次数:42  
标签:encoding open len 实验 print data append

6.实验任务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.实验任务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.实验任务8:

task8.py

实验源码:

 1 with open('hamlet.txt', 'r+', encoding = 'utf-8') as f:
 2     data=f.read()
 3     data0_5=str(data)
 4     data1=data0_5.split("\n")
 5     data1_5=" ".join(data1)
 6     print(len(data1))
 7     data2=data0_5.split(" ")
 8     print(len(data2)-1)
 9     print(data.count(" ")-1)
10     print(len(data))
11     s=[]
12     s.append(len(data1))
13     s.append(len(data2)-1)
14     s.append(data.count(" ")-1)
15     s.append(len(data))
16     b=[]
17     for i in range(len(data1)):
18         b.append(f"{i+1} "+data1[i])
19     print(b)
20     with open('hamlet_with_line_number.txt', 'w', encoding = 'utf-8') as g:
21         for i in range(len(b)):
22             g.write(b[i]+"\n")

运行测试截图:

 

 9.实验任务9

task9.py

实验源码:

 1 def is_valid(number):
 2     if len(number) == 18:
 3         return True
 4     elif (number[0:-1] is type(int) and number[-1] == 'X') or number[0:] is type(int) :
 5         return True
 6     else:
 7         return False
 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])

运行测试结果:

 

10.实验任务10

实验源码:

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

运行测试截图:

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

运行测试截图:

 

标签:encoding,open,len,实验,print,data,append
From: https://www.cnblogs.com/desire666/p/17456752.html

相关文章

  • 实验5 文件应用编程
    实验任务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]......
  • Python实验课5
    实验任务六实验源码:1withopen('data6.csv','r',encoding='gbk')asf:2data=f.readlines()3data1=[str(eval(data[i]))foriinrange(1,len(data))]4data2=[str(int(eval(data[i])+0.5))foriinrange(1,len(data))]5info=......
  • 实验五
    实验任务6task6:1withopen('data6.csv','r',encoding='gbk')asf:2data=list(f.readlines())3data=[i.strip('\n')foriindata]45importdecimal6decimal.getcontext().rounding='ROUND_HALF_UP'......
  • 实验五
    withopen('data6.csv','r',encoding='gbk')asf:data=f.readlines()processed_data=[]foriinrange(1,len(data)):row=data[i].strip()processed_item=round(float(row))processed_data.append(proces......
  • 实验5
    6.实验任务6程序源代码:withopen('data6.csv','r',encoding='gbk')asf:data=f.readlines()data_title=['原始数据','四舍五入后数据']data.remove('原始数据\n')data_zahl=[]foriindata:ifi[-1]==�......
  • 实验6
      task5-1fromturtleimport*importmathdefmove(x,y):penup()goto(x,y)pendown()defmain():x=100*math.sqrt(2)pensize(2)move(-100,-100)begin_fill()forward(200)left(90)forward(200)left(90)......
  • 实验6 turtle绘图与python库应用编程体验
    任务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)mov......
  • 实验5
    withopen('data6.csv','r',encoding='gbk')asf:data=f.readlines()data1=[str(eval(data[i]))foriinrange(1,len(data))]data2=[str(int(eval(data[i])+0.5))foriinrange(1,len(data))]info=[[data1[i],data2[i]]forii......
  • 实验5 文件应用编程
    实验任务6:实验源码:withopen('data6.csv','r',encoding='gbk')asf:data=f.readlines()data1=[str(eval(data[i]))foriinrange(1,len(data))]data2=[str(int(eval(data[i])+0.5))foriinrange(1,len(data))]info=[[data1[i],dat......
  • Python实验课5
    实验任务六实验源码:1withopen('data6.csv','r',encoding='gbk')asf:2data=f.readlines()3data1=[str(eval(data[i]))foriinrange(1,len(data))]4data2=[str(int(eval(data[i])+0.5))foriinrange(1,len(data))]5info=......