我已经编写了一个程序,该程序在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))