with open('data6.csv','r',encoding='gbk') as f:
data1 = f.read().split('\n')
del data1[0]
for i in range(len(data1)):
data1[i] = eval(data1[i])
data1[i] = float(data1[i])
print('原始数据:')
print(data1)
data2 = []
for i in range(len(data1)):
data2.append(int(data1[i]+0.5))
print('四舍五入后数据:')
print(data2)
for i in range(len(data1)):
data1[i] = str(data1[i])
for i in range(len(data1)):
data2[i] = str(data2[i])
title = ['原始数据','四舍五入后数据']
info = []
for i in range(len(data1)):
info.append([data1[i],data2[i]])
with open('data6_processed.csv','w',encoding='utf-8') as f:
f.write(','.join(title)+'\n')
for item in info:
f.write(','.join(item)+'\n')
![]()
![]()
with open('data7.csv','r',encoding='gbk') as f:
data1 = f.read().split('\n')
del data1[0]
lsta = []
lstm = []
for i in data1:
lst1 = i.split(',')
if lst1[2] == 'Acting':
lsta.append(lst1)
else:lstm.append(lst1)
lstm.sort(key=lambda x:x[-1],reverse = True)
lsta.sort(key=lambda x:x[-1],reverse = True)
info = lsta + lstm
title = ['学号','姓名','专业','分数']
with open('data7_processed.csv','w',encoding='utf-8') 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]))
![]()
![]()
lines = 0
words = 0
sum1 = 0
space = 0
with open('hamlet.txt','r',encoding='utf-8') as f:
for line in f:
word = line.split()
lines += 1
words += len(word)
sum1 += len(line)
for i in line:
if i == ' ':
space += 1
else:
pass
print('hamlet.txt粗滤统计:')
print(f'行数:{lines}')
print(f'单词数:{words}')
print(f'字符数:{sum1}')
print(f'空格数:{space}')
with open('hamlet.txt','r',encoding = 'utf-8') as f:
text = f.readlines()
for i in range(len(text)):
text[i] = str(i+1) + ' ' + text[i]
with open('hamlet_with_line_number.txt','w',encoding = 'utf-8') as f:
f.writelines(text)
![]()
![]()
def is_valid(sfz):
if len(sfz) != 18:
return False
elif (sfz[:-1].isnumeric() and sfz[-1] == 'X') or sfz.isnumeric():
return True
else:return False
with open('data9_id.txt','r',encoding='utf-8') as f:
data = f.read().split('\n')
del data[0]
data2 = []
data3 =[]
print('姓名,出生日期,年龄')
for i in data:
lst = i.split(',')
data2.append(lst)
lst2 = []
for i in data2:
if is_valid(i[1]) == True:
name = i[0]
btd = i[1][6:14]
age = str(2023 - int(i[1][6:10]))
lst2.append([name,btd,age])
lst2.sort(key=lambda x:x[2],reverse=True)
for i in lst2:
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()
print('{:*^40}'.format('抽点开始'))
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]]
sum1 += n
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()
print('{:*^40}'.format('抽点开始'))
n = int(input('输入随机抽点人数:'))
import random
x = []
sum1 = 0
x2 = ''
while n != 0:
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(sum1,sum1+n):
print(data[x[i]])
x2 += data[x[i]]
sum1 += n
n = int(input('输入随机抽点人数:'))
with open('20230602.txt','w',encoding='utf-8') as f:
f.writelines(x2)
print('{:*^40}'.format('抽点结束'))
![]()
![]()