【发布时间】:2019-10-28 14:28:08
【问题描述】:
编码新手,试图在掷硬币模拟中找到“p”值。 当前获取属性错误:
'int' 对象没有属性 'sum'。
怎么可能?请帮忙。'''
import numpy as np
import random
attempts = 0
t = 0
for I in range (10000):
attempts = random.randint(2, 30)
if (attempts.sum >= 22 ):
t += 1
p = t / 10000
print(p)
【问题讨论】:
-
attempts是 2 到 29 之间的单个整数值。 -
常见的统计用法将
p定义为硬币显示目标值(通常是“正面”)的机会。目前尚不清楚您在做什么,因为您的“硬币”可以返回相当大范围的结果,2-30。请描述您尝试使用sum是如何解决问题的,以及该问题可能是什么。 -
“怎么可能?”你不明白哪一部分,究竟是什么?你知道
'int' object是什么吗?你知道attribute是什么吗?你知道具体投诉的是哪个'int' object吗?你期望它有那个属性吗?如果是,为什么? -
在大多数情况下,投掷硬币最终会得到一个偶数的投掷次数,在这种情况下,投掷次数为 30,但在投掷 22 次时,“p”值是多少?
-
您是否想要
numpy.random.randint(2, size=30)而不是random.randint(2, 30)? (也就是说,在每个循环中,您掷出 30 个硬币,并记录其中至少 22 个出现“正面”的频率。)