我想从0到99选择10个随机整数.我知道我可以使用:
random.randint(a, b)
Run Code Online (Sandbox Code Playgroud)
但是如何告诉randint()我只想要不同的整数.
我是否必须在每个随机生成后检查以查看是否已生成整数并再次调用该方法?这似乎不是一个最佳解决方案.
Vin*_*ard 10
from random import sample
sample(range(0, 100), 10)
Run Code Online (Sandbox Code Playgroud)
这是与语言无关的一般策略.生成一个从0到99的100个条目的数组.选择0到99之间的随机数,并将该位置的条目与位置0处的元素交换.然后从i到99连续选择一个随机数,其中i = 1到9并将该位置的元素与元素i处的元素交换.你的10个随机数位于数组的前10个位置.
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |