计算概率的函数出现问题

时间:2019-02-12 23:22:20

标签: julia

我有一个函数接受输入,即人数,并计算这些人有相同的随机生成生日的概率。我正在使用字典和随机生成的数组,然后循环运行5000次。但是,似乎存在问题,因为当我尝试运行该函数时出现错误:ArgumentError: Dict(kv): kv needs to be an iterator of tuples or pairs。我怎样才能解决这个问题?谢谢!!

function prob_same_bday(numpeople::Int64)
    samebday = 0
    for i = 1:5000

        arr1 = rand(1:365, 1, numpeople)

        d = Dict(arr1)
        for val in itr
            d[val] = get!(d, val, 0) + 1
            if get!(d, val, 0) > 1
                samebday = samebday + 1
            else
                continue
            i = i + 1
            end
        end
    end
    return samebday / 5000
end

1 个答案:

答案 0 :(得分:1)

您只需要一维arryay,所以应该是

arr1 = rand(1:365, numpeople)

现在,我假设您要在字典中存储点击数。您不能像这样将数组传输到字典。例如,您可以这样做:

d = Dict(1:numpeople .=> 0)  

请注意,dVector一样好

看起来像是一项家庭作业,所以请继续尝试:=)