simulation_dlt.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # -*- coding: utf-8 -*-
  2. import random
  3. my_dlt = [
  4. ['01', '02', '03', '04', '05', '06', '07']
  5. ]
  6. def generate_lotto():
  7. # 前区号码池
  8. front_area = list(range(1, 36))
  9. # 后区号码池
  10. back_area = list(range(1, 13))
  11. # 随机选择前区5个号码
  12. selected_front = sorted(random.sample(front_area, 5))
  13. # 随机选择后区2个号码
  14. selected_back = sorted(random.sample(back_area, 2))
  15. # 将选中的号码组合成一注
  16. lotto_ticket = [str(num).zfill(2) for num in selected_front + selected_back]
  17. return lotto_ticket
  18. def check_match(ticket, my_dlt):
  19. for dlt in my_dlt:
  20. if ticket == dlt:
  21. return True
  22. return False
  23. # 生成并检查匹配
  24. attempts = 0
  25. while True:
  26. attempts += 1
  27. generated_ticket = generate_lotto()
  28. if check_match(generated_ticket, my_dlt):
  29. print(f"在第 {attempts} 次尝试时,我们匹配了一注号码:{generated_ticket}")
  30. break
  31. if attempts % 100000 == 0:
  32. print(f"已经尝试了 {attempts} 次,还没有匹配。")