python双色球

墨蓝 2021-12-14 11:45 546阅读 0赞
  1. # 1、红色球6个,1,33,蓝色球1个,1-16
  2. # 1、先从1,33之间取6个 random.sample([1,33],6)
  3. # 2,再从1-16之间取1个 random.choice([1,16])
  4. # 3、把双色球号码改成 红色球 01 02 03 04 05 06 蓝色球 07 的格式
  5. # 4、读到文件的内容, 判断刚才产生的双色球是否在文件中
  6. # 5、不在就写入
  7. import random
  8. FILE_NAME = 'seq.txt'
  9. def op_file(content=None):
  10. with open(FILE_NAME, 'a+', encoding='utf-8') as fw:
  11. if content:
  12. fw.write(content)
  13. else:
  14. fw.seek(0)
  15. res = fw.read()
  16. return res
  17. def seq(num):
  18. count = 0
  19. while count < num:
  20. b1 = [str(i).zfill(2) for i in range(1, 34)] # 产生一个01,02- 33的list
  21. b2 = [str(i).zfill(2) for i in range(1, 17)] # 产生一个01,02- 33的list
  22. red = random.sample(b1, 6) # 返回是一个list
  23. red.sort() # 排序
  24. blue = random.choice(b2)
  25. red_str = ' '.join(red) # '01 02 03 04 05 06'
  26. result = "红色球:%s 蓝色球:%s\n" % (red_str, blue)
  27. all_ball = op_file() # 获取文件内容
  28. if result not in all_ball:
  29. op_file(result) # 写入
  30. count += 1
  31. def seq2(num):
  32. count = 0
  33. while count < num:
  34. red_str = ' '.join(sorted(random.sample([str(i).zfill(2) for i in range(1, 34)], 6))) # 返回是一个list
  35. blue = random.choice([str(i).zfill(2) for i in range(1, 17)])
  36. result = "红色球:%s 蓝色球:%s\n" % (red_str, blue)
  37. if result not in op_file():
  38. op_file(result) # 写入
  39. count += 1
  40. seq2(20)

转载于:https://www.cnblogs.com/skyxiuli/p/10777972.html

发表评论

表情:
评论列表 (有 0 条评论,546人围观)

还没有评论,来说两句吧...

相关阅读

    相关 模拟

    玩法说明: 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为1~ 33,蓝球号码范围为1~16,双色球每期从33个红球中开出6个号码,从16个蓝球中开出1个号码作为中