我是python的新手,我正在做一个概率问题来模拟掷硬币的结果。我读了这个问题,但我不明白该怎么做。这是问题:
“python是否有能力生成随机数? 让我们抛硬币100次,然后将结果写入文件的格式 行是:
<int> throw number, <int> coin result {1 for a head and 0 for tails}
例如:
1, 1
2, 0
3, 1
打开一个名为random.dat的文件并写出结果。
现在打开文件进行阅读并阅读每一行。提取结果和 根据结果{1或0}将其分配给名为head或tails的列表。
考虑硬币折腾次数的不同值的头尾列表的长度“
任何人都可以帮我解决这部分问题吗?我需要使用for循环来模拟概率吗?
答案 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()