fork download
  1. import random
  2.  
  3. A = [0,7,8,15,16,23,24,31]
  4. B = [1,2,3,4,5,6,25,26,27,28,29,30,9,14,17,22]
  5. C = [10,11,12,13,14, 18,19,20,21]
  6.  
  7.  
  8. def sample_k(k):
  9. ret = []
  10. for _ in range(k):
  11. while True:
  12. # select a group
  13. v = random.random()
  14. if v < .5:
  15. g = A
  16. elif v < .95:
  17. g = B
  18. else:
  19. g = C
  20.  
  21. # select a num
  22. v = random.choice(g)
  23. if v not in ret[-6:]:
  24. ret.append(v)
  25. break
  26. return ret
  27.  
  28.  
  29. print(sample_k(100))
  30.  
Success #stdin #stdout 0.05s 65764KB
stdin
Standard input is empty
stdout
[5, 6, 15, 7, 23, 16, 27, 0, 22, 26, 8, 2, 15, 30, 27, 5, 6, 0, 22, 19, 31, 15, 29, 2, 7, 24, 0, 17, 8, 14, 28, 15, 23, 0, 2, 22, 30, 4, 10, 23, 27, 15, 17, 0, 29, 24, 7, 30, 26, 16, 5, 31, 15, 17, 25, 8, 3, 29, 23, 5, 6, 7, 27, 9, 18, 24, 0, 15, 8, 3, 5, 2, 13, 24, 23, 0, 29, 5, 20, 30, 7, 27, 17, 0, 14, 24, 31, 7, 3, 22, 25, 4, 8, 5, 27, 24, 31, 17, 4, 16]