实验五

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)
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]))
with open('hamlet.txt','r') as f:
    data = f.read()
print('hamlet.txt粗略统计:')
data1 = data.splitlines()
print(f'行数:{len(data1)}')
print(f'单词数:{len(data.split())}')
print(f'字符数:{len(data)}')
k = data.count(' ')
print(f'空格数:{k}')

data2=[]
for i in range(len(data1)):
    data2.append(f'{i+1} '+ data1[i] + '\n')14
with open('hamlet_with_line_number.txt','w') as f:
    f.writelines(data2)
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')

 

posted @ 2023-06-06 23:53  废话师  阅读(14)  评论(0)    收藏  举报