需求:
双色球,生成号码写入文件
中奖号码由6个红色球号码和1个蓝色球号码组成
篮球范围:01-16,random.ranint(1,16),1-9要补零
红球范围:01-33
def ssq(num):#随机机选多少个号码,用函数完成
输出不重复的号码文件(红球顺序不同算重复)
输出格式 蓝球:05 红球 03 33 02 13 14 19
实现:
import random def auto_select(): #随机选取一个双色球结果 blue = str(random.randint(1, 17)).zfill(2) red_s = set() while len(red_s) != 6:#不用random.sample()因为随机取N个元素可能存在重复 red = str(random.randint(1, 34)).zfill(2) red_s.add(red) res = '蓝球:{} 红球:{}\n'.format(blue,' '.join(sorted(red_s))) #红球顺序不同算重复,所以添加排序 return res def write_file(l):#将机选结果写入文件 with open('双色球机选结果', 'w', encoding='utf-8') as fw: fw.writelines(l) def main(): num = input('请输入需要机选的数量') if num.isdigit(): num = int(num) res_s = set() while len(res_s) != num: res_s.add(auto_select()) write_file(res_s) else: print('机选个数必须为整数') main()