观众抽奖,200个号,一等奖5人、二等奖10人、三等奖30人,随机产生,存入到“file2.txt"
问题描述:
文件格式如下:
一等奖:
45
78
二等奖:
258
163
代码呈现不出想要的效果
答
import random
fn = [i for i in range(1, 201)]
f = random.sample(fn, 5)
print(f'1等奖的号码:{",".join([str(i) for i in f])}')
sn = list(set(fn) - set(f))
s = random.sample(sn, 10)
print(f'2等奖的号码:{",".join([str(i) for i in s])}')
tn = list(set(sn) - set(s))
t = random.sample(tn, 30)
print(f'3等奖的号码:{",".join([str(i) for i in t])}')
sn = list(set(fn) - set(f))是每次建议减去上一次中奖人数
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
f = open('a.txt', 'w', encoding='utf-8')
f.write(f'1等奖的号码\n:{"\n".join([str(i) for i in f])}')
f.write(f'2等奖的号码\n:{"\n".join([str(i) for i in f])}')
f.write(f'3等奖的号码\n:{"\n".join([str(i) for i in f])}')
f.close()
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632