Pythonでの乱数の最終桁の分布
Pythonで0から9までのランダムな数字を生成するには、2つの明白な方法があります。0と1の間のランダムな浮動小数点数を生成し、10を掛け、切り捨てることができます。あるいは、このrandom.randint方法を使用することもできます。 import random def random_digit_1(): return int(10 * random.random()) def random_digit_2(): return random.randint(0, 9) 0から1までの乱数を生成し、最後の桁を保持した場合にどうなるかについて知りました。分布が均一であるとは必ずしも思っていませんでしたが、結果はかなり驚くべきものでした。 from random import random, seed from collections import Counter seed(0) counts = Counter(int(str(random())[-1]) for _ in range(1_000_000)) print(counts) 出力: Counter({1: 84206, 5: 130245, 3: 119433, 6: 129835, 8: 101488, 2: 100861, 9: 84796, 4: 129088, …