大乐透代码

import random


def dlt():
"""前面和后面的数字可以重复,但是产生的多条数字不能有重复"""
all_front = [str(digit).zfill(2) for digit in range(1, 33)] # 列表生成式产生32个数字,1-9前面补0
all_back = [str(digit).zfill(2) for digit in range(1, 13)] # 列表生成式产生12个数字,1-9前面补0
front = random.sample(all_front, 5) # 1-32中取5位
front.sort() # 5个数从小到大排序
back = random.sample(all_back, 2) # 1-12中取2位
back.sort() # 2个数从小到大排序
temp = front + back # 连接两个list
res = ' '.join(temp) # 通过空格连接,生成10 15 19 22 31 04 12这样的格式
return res


s = set()
num = input('请输入产生几注:').strip()
if num.isdigit():
while len(s) != int(num):
number = dlt() # number就是返回的7个数字,10 15 19 22 31 04 12这样的格式
s.add(number + '\n')
else: # while正常结束把集合里的数字写到dlt.txt里
with open('dlt.txt', 'w') as fw:
fw.writelines(s)
else:
print('请输入正确的数字')
posted @ 2019-06-03 16:28  laosun0204  阅读(1314)  评论(0编辑  收藏  举报