为什么我的两个样本没有 0 个共同的数字?



我已经编写了一个程序,该程序在0-9之间进行了两个列表。然后,我看到它们有多少个共同的数字,然后到相应的计数器。我已经循环了这个1000000,但是样品从未有0个共同的数字。我的代码有问题吗?还是我只是极不幸

for _ in range(1000000):
    House_deal = random.sample(range(9), k=5)
    Player_deal = random.sample(range(9), k=5)
    hc = Counter(House_deal)
    pc = Counter(Player_deal)
    common = hc.keys() & pc.keys() #get the intersection of both keys
    counts = 0
    for cel in common:
        counts += min(hc[cel], pc[cel])
    if counts == 0:
        common_0 += 1
    elif counts == 1:
        common_1 += 1
    elif counts == 2:
        common_2 += 1
    elif counts == 3:
        common_3 += 1
    elif counts == 4:
        common_4 += 1
    elif counts == 5:
        common_5 += 1

我认为您想要做的是确定hc V.S.的试验中最常见的事情。pc 1000000次。这样的事情应该做。您的主要问题是您不会在循环之外跟踪这些数字。我不确定count是用什么?

from random import sample
from collections import Counter
common = Counter()
for _ in range(1000000):
  House_deal = sample(range(9), k=5)
  Player_deal = sample(range(9), k=5)
  common.update(set(House_deal).intersection(Player_deal))

最新更新