|
|
|
|
|
by IanCal
547 days ago
|
|
Yes but if you want to do things in a less obvious way you should be aware of the downsides, such as bias in your random numbers. Also making sure you watch out for off by one errors. Stolen the number to show this off well from a bug report somewhere: random_counter = Counter()
for i in range(10_000_000):
result = floor(random() * 6755399441055744) % 3
random_counter[result] += 1
print("floor method", random_counter.most_common(3))
randint_counter = Counter()
for i in range(10_000_000):
result = randint(0, 6755399441055743) % 3
randint_counter[result] += 1
print("randint method", randint_counter.most_common(3))
Result floor method [(1, 3751972), (0, 3333444), (2, 2914584)]
randint method [(1, 3334223), (2, 3333273), (0, 3332504)]
https://bugs.python.org/issue9025 |
|