urandom.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. """
  2. urandom 模块实现了伪随机数生成器。
  3. """
  4. def choice(obj) -> None:
  5. """
  6. 随机生成对象 obj 中的元数。
  7. - obj:元数列表
  8. 示例:
  9. - print(random.choice("DFRobot"))
  10. - R
  11. - print(random.choice("DFRobot"))
  12. - D
  13. - print(random.choice([0, 2, 4, 3]))
  14. - 3
  15. - print(random.choice([0, 2, 4, 3]))
  16. - 3
  17. - print(random.choice([0, 2, 4, 3]))
  18. - 2
  19. """
  20. ...
  21. def getrandbits(size) -> None:
  22. """
  23. 随机生成 0 到 size 个位二进制数范围内的正整数。 比如 :
  24. - size = 4,那么便是从 0 到0b1111中随机一个正整数。
  25. - size = 8,那么便是从 0 到 0b11111111中随机一个正整数。
  26. - size:位大小
  27. 示例:
  28. - print( random.getrandbits(1)) #1位二进制位,范围为0~1(十进制:0~1)
  29. - 1
  30. - print(random.getrandbits(1))
  31. - 0
  32. - print(random.getrandbits(8)) #8位二进制位,范围为0000 0000~1111 11111(十进制:0~255)
  33. - 224
  34. - print(random.getrandbits(8))
  35. - 155
  36. """
  37. ...
  38. def randint(start, end) -> None:
  39. """
  40. 随机生成一个 start 到 end 之间的整数。
  41. start:指定范围内的开始值,包含在范围内
  42. end:指定范围内的结束值,包含在范围内
  43. 示例:
  44. - import random
  45. - print(random.randint(1, 4))
  46. - 4
  47. - print(random.randint(1, 4))
  48. - 2
  49. """
  50. ...
  51. def random() -> None:
  52. """
  53. 随机生成一个 0 到 1 之间的浮点数。 示例:
  54. - print(random.random())
  55. - 0.7111824
  56. - print(random.random())
  57. - 0.3168149
  58. """
  59. ...
  60. def randrange(start, end, step) -> None:
  61. """
  62. 随机生成 start 到 end 并且递增为 step 的范围内的正整数。例如,randrange(0, 8, 2)中,随机生成的数为 0、2、4、6 中任一个。
  63. - start:指定范围内的开始值,包含在范围内
  64. - end:指定范围内的结束值,包含在范围内
  65. - step:递增基数
  66. 示例:
  67. - print(random.randrange(2, 8, 2))
  68. - 4
  69. - print(random.randrange(2, 8, 2))
  70. - 6
  71. - print(random.randrange(2, 8, 2))
  72. - 2
  73. """
  74. ...
  75. def seed(sed) -> None:
  76. """
  77. 指定随机数种子,通常和其他随机数生成函数搭配使用。
  78. 注意: MicroPython 中的随机数其实是一个稳定算法得出的稳定结果序列,而不是一个随机序列。
  79. sed 就是这个算法开始计算的第一个值。
  80. 所以就会出现只要 sed 是一样的,那么后续所有“随机”结果和顺序也都完全一致。
  81. """
  82. ...
  83. def uniform(start, end) -> None:
  84. """
  85. 随机生成start到end之间的浮点数。
  86. - start:指定范围内的开始值,包含在范围内
  87. - stop:指定范围内的结束值,包含在范围内
  88. 示例:
  89. - print(random.uniform(2, 4))
  90. - 2.021441
  91. - print(random.uniform(2, 4))
  92. - 3.998012
  93. """
  94. ...