with open("data6_1.txt","r",encoding="utf-8") as f:
data=f.read().split("\n")
data1=[str(m).split("\t") for m in data]
data1.sort(key=lambda x: x[2],reverse=True)
with open("data6_2.txt","w+",encoding="utf-8") as f:
for line in data1:
for m in line:
f.write(m+"\t")
print(m+"\t",end="")
f.write("\n")
print()
![]()
复制代码
#时间模块
import datetime
time=datetime.datetime.now()
time=time.strftime("%Y%m%d")
import random
with open("data7.txt","r",encoding="gbk")as f:
data=f.read().split("\n")
n=eval(input("输入随机抽点人数:"))
#随机抽取人数模块
m=set()
while len(m) < n:
ra=random.randint(0,len(data)-1)
m.add(str(data[ra]))
#写入模块
with open(f"{time}.txt","w+",encoding="utf-8")as f:
for line in m:
f.write(line +"\n")
print(line)
![]()
task7-3
import random
#时间模块
import datetime
time=datetime.datetime.now()
time=time.strftime("%Y%m%d")
with open("data7.txt","r",encoding="gbk")as f:
data=f.read().split("\n")
n=eval(input("输入随机抽点人数:"))
#利用集合,避免重复
m=set()
while n >0:
w_data=set()#利用集合,避免单次抽点重复
#随机抽取人数模块
while len(w_data-m)<n and len(data)>=len(m)+n:
ra=random.randint(0,len(data)-1)
w_data.add(str(data[ra]))
if len(data)-len(m)==0:
print("班级同学已经全被点过")
elif len(data)<len(m)+n and len(data)-len(m) !=0:
print(f"抽点的人数多了,班级内只剩{len(data)-len(m)}个没有被抽到")
exit()
else:
#写入模块
with open(f"{time}.txt","a",encoding="utf-8")as f:
for line in w_data - m:
f.write(line +"\n")
print(line)
m=m | w_data
n=eval(input("输入随机抽点人数:"))
![]()