我的coinflip数组还需要什么其他的numpy脚本

问题描述 投票:0回答:1

我想出了解决不导入numpy模块的原始问题的方法,但是我不太了解我还需要导入/添加什么才能使此代码正常工作。我在python 3中,此代码是用PyCharm编写的。我将概率更改为p以防止未声明它的冲突链接到此处的教程文章the site i got it from

  import numpy as np



def coinFlip(p):
    #perform the binomial distribution (returns 1 or 0)
    result = np.random.binomial (1 , p)
    #return flip to be added to numpy array
    return result



'''Main Area'''
#probability of heads vs. tails. this can be changed
p = .5
#num of flips required. this can be changed
n = 10

#initiate array
FullResults = np.arrange(n)

#perform the desired number of flips required probability set above
for i in range(0, n):
    fullResults[i] = coinFlip(p)
    i+=1

#print results
print("probability is set to ", p)
print("Tails = 0, Heads = 1: ", fullResults)
#Total up heads and tails for easy user experience
print("head count: ", np.count_nonzero(fullResults == 1))
print("Tail count: ", np.count_nonzero(fullResults == 0))
python-3.x
1个回答
0
投票

我必须进行两个小修改-

  1. np.arange(n)而不是np.arrange(n)
  2. 我用零初始化了数组fullResults

    import numpy as np
    

    def coinFlip(p):#执行二项式分布(返回1或0)结果= np.random.binomial(1,p)#return将翻转添加到numpy数组返回结果

    '''主要区域''

    头与尾的概率。这可以更改

    p = .5

    需要翻转的次数。这可以更改

    n = 10

    初始化数组

    ########### FullResults = np.arrange(n)

    FullResults = np.arange(n)

    执行上面设置的所需的翻转次数所需概率

    fullResults = np.zeros(n)对于范围(0,n)中的i:fullResults [i] = coinFlip(p)i + = 1

    打印结果

    print(“概率设置为”,p)print(“ Tails = 0,Heads = 1:”,fullResults)

    总的头和尾为方便的用户体验

    print(“ head count:”,np.count_nonzero(fullResults == 1))print(“尾数:”,np.count_nonzero(fullResults == 0))>

  3. 这里是输出-

  probability is set to  0.5
    Tails = 0, Heads = 1:  [0. 0. 0. 1. 1. 1. 0. 0. 0. 1.]
    head count:  4
    Tail count:  6
© www.soinside.com 2019 - 2024. All rights reserved.