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("输入随机抽点人数:"))
task7-2
if __name__ == '__main__':
main()
#时间模块
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)
![]()
with open('D:\\data6_1.txt','r',encoding='utf-8') as f:
t=[]
for line in f.readlines():
m=line.strip().split()
t.append(m)
t.sort(key=lambda l:l[2],reverse=True)
with open('data6_2.txt','w+',encoding='utf-8') as n:
for i in t:
n.write(' '.join(i)+'\n')
复制代码
import random
def get_lucky_boy(lis:list,trys:int):
result=[]
for i in range(trys):
boy=random.choice(lis)
lis.remove(boy)
result.append(boy)
t=[]
for i in result:
t.append(' '.join(i)+'\n')
return ''.join(t)
ls=[]
with open('D:\\data7.txt','r',encoding='utf-8') as f:
for line in f.readlines():
m=line.strip().split()
ls.append(m)
n=int(input('yikutu desuka?'))
boys=get_lucky_boy(lis=ls,trys=n)
print(boys)
with open('lucky.txt','w',encoding='utf-8') as nf:
nf.write(boys)
![]()