Bom dia, Ana! Como vai?
Peço desculpas pela demora em responder o seu tópico.
O erro ocorre porque você está tentando chamar o método .round()
em um objeto do tipo float e, em seguida, tenta converter o resultado para um inteiro usando int()
. No entanto, o método .round()
não existe para objetos do tipo float em Python.
Então como o professor conseguiu usar? Essa pergunta é respondida facilmente, é porque o n
dele pertence a outro tipo de objeto, o numpy.float64
, e esse, sim, tem o método round()
.
Mas como posso fazer com que meu n
seja desse tipo também? Isso é feito quando calculamos o z
. O valor dele é definido ao usamos o método ppf
da biblioteca norm
, como você pode ver abaixo:
from scipy.stats import norm
z = norm.ppf(0.975)
type(z)
Ao executar os códigos acima você terá um retorno do tipo da variável, e o tipo será o mesmo que comentei anteriormente, sendo o tipo de objeto que tem o método round
. Com isso, quando fazemos a seguinte operação, estaremos atribuindo esse tipo para a variável que recebe o resultado:
n = (z * (sigma / e )) ** 2
int(n.round())
Lembre-se que entre essas duas operações que mostrei existem a definição das variáveis sigma
e e
, mas, caso siga as instruções mostradas aqui, o erro não deve ocorrer novamente.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.