我的问题如下,我面前有4张扑克牌面朝下。有国王,女王,杰克和王牌。我挑了一张卡片,看着它,然后把它面朝下放在我面前。我试图模拟挑选3张卡1000次(你可以多次选择同一张卡),即3个样本中的一个可以是Jack,Jack和King。我试图在这里做到这一点:
import random
cards=["King", "Queen", "Jack", "Ace"]
for i in range(1000):
print([random.sample(cards, 3)])
所有这一切都打印出1000次迭代,挑选3张牌,但它从未选择相同的牌两次,这应该是。
我想做的是计算我挑选3张独特卡片的次数,然后计算这样做的概率。然后我想计算每次试用的不同卡片的平均数量。我知道这有助于为列表添加值,但我不确定如何去做。为格式化道歉,我没有经验。
答案 0 :(得分:1)
这应该提供所需的输出
compile 'com.google.firebase:firebase-auth:11.4.2'
compile 'com.firebaseui:firebase-ui:3.1.0'
compile 'com.firebaseui:firebase-ui-auth:3.1.0'
答案 1 :(得分:0)
这看起来像你在看什么吗?
from random import sample, choice
from itertools import groupby
cards=["King", "Queen", "Jack", "Ace"]
unique = 0
for i in range(1000):
#sample will return unique
d = sample(cards, 3)
if len(list(groupby(d))) == 3:
unique += 1
print(unique)
答案 2 :(得分:0)
蒙特卡洛可能令人困惑 - 至少对我而言。我的第一步是尝试生成三张卡样本的代码。我将N
设置为10。
for n in range(N):
sample = [random.choice(cards) for _ in range(3)]
print (sample)
输出就是这个。显然,这并不能保证我是成功的,但似乎代码可以产生所有可能性。如果我有任何真正的担忧,我可以尝试增加N
。
['Jack', 'Jack', 'King']
['Jack', 'Ace', 'Ace']
['Ace', 'Ace', 'Jack']
['Ace', 'Queen', 'Ace']
['Ace', 'King', 'King']
['King', 'Jack', 'King']
['Queen', 'King', 'Ace']
['Queen', 'Queen', 'Queen']
['King', 'Jack', 'Ace']
['Jack', 'Jack', 'King']
你想数独特。通过将samples
转换为set
并将len
转换为unique_count = 0
for n in range(N):
sample = [random.choice(cards) for _ in range(3)]
unique_count += 1 if len(set(sample))==1 else 0
print(unique_count)
,可以最方便地完成此操作。计算平均值很容易。
import random
cards=["King", "Queen", "Jack", "Ace"]
N = 100000
unique_count = 0
card_counts = {_: 0 for _ in cards}
for n in range(N):
sample = [random.choice(cards) for _ in range(3)]
unique_count += 1 if len(set(sample))==1 else 0
for s in sample:
card_counts[s]+=1
print(unique_count)
total = 0
for s in cards:
total += card_counts[s]
print (s, card_counts[s])
print (total)
字典不是一个值得记住的好地方。在循环外部初始化它,然后递增条目。
string[][,] PatternTables;
Parallel.For(0, PatternTables.Length,
index =>
{
PatternTables[index] = BOMAnalysis(Pattern, PatternMatch, BOMs, HeaderIndex);
});
当我进行实验时,我经常尝试越来越大的N值,希望看到收敛。