【发布时间】:2014-04-27 05:34:54
【问题描述】:
我无法获取我正在尝试编写的正面和反面代码的列表。
import random
list4heads=[]
maximums=[]
base=10
list4tails=[]
percent4heads=[]
percent4tails=[]
for exponent in range (1,6):
ranges=base**exponent
results=[0,0]
maximums.append(ranges)
for num in range (1,ranges+1):
flip=random.randint(0,num)
if flip%2==0:
results[0]+=1
elif flip%2 != 0:
results[1]+=1
for slot in results:
list4heads.append(results[0])
list4tails.append(results[1])
hp= results[0]/(results[0]+results[1])
tp= results[1]/(results[0]+results[1])
percent4heads.append(hp)
percent4tails.append(tp)
print(list4heads, '\n', list4tails)
print()
print()
print(percent4heads, '\n', percent4tails)
我需要将每个值添加一次,但我的输出看起来像这样。
[6, 6, 54, 54, 502, 502, 5053, 5053, 49746, 49746]
[4, 4, 46, 46, 498, 498, 4947, 4947, 50254, 50254]
[0.6, 0.6, 0.54, 0.54, 0.502, 0.502, 0.5053, 0.5053, 0.49746, 0.49746]
[0.4, 0.4, 0.46, 0.46, 0.498, 0.498, 0.4947, 0.4947, 0.50254, 0.50254]
为什么每个值要加两次? 提前致谢!
【问题讨论】:
-
输出的前两行是“硬币翻转”落在正面然后是反面的时间。首先是 10 次投掷,然后是 100、1,000、10,000 和 100,000。接下来的 2 是每个结果的百分比。