如何使用python投掷硬币?

时间:2017-12-03 15:05:10

标签: python probability spyder data-science

我是python的新手,我正在做一个概率问题来模拟掷硬币的结果。我读了这个问题,但我不明白该怎么做。这是问题:

“python是否有能力生成随机数? 让我们抛硬币100次,然后将结果写入文件的格式 行是:

<int> throw number, <int> coin result {1 for a head and 0 for tails}

例如:

1, 1
2, 0
3, 1
  1. 打开一个名为random.dat的文件并写出结果。

  2. 现在打开文件进行阅读并阅读每一行。提取结果和 根据结果​​{1或0}将其分配给名为head或tails的列表。

  3. 考虑硬币折腾次数的不同值的头尾列表的长度“

    任何人都可以帮我解决这部分问题吗?我需要使用for循环来模拟概率吗?

1 个答案:

答案 0 :(得分:0)

from random import randint

numTosses = 100


fileOut = open("data.dat",'w')

for index in range(numTosses):
    fileOut.write(str(index) + "," \
                             + str(randint(0,1)) \
                             + '\n' )

fileOut.close()


fileIn = open("data.dat",'r')

heads = list()
tails = list()

for line in fileIn.readlines():

    fields = line.split(',')

    if fields[1].strip() == '1':
        heads.append(1)
    else:
        tails.append(1)     

print("Number of heads is: " + str(len(heads)))
print("Number of tails is: " + str(len(tails)))

fileIn.close()