Erro EP10

Erro EP10

por Estevao Monteiro Dias Gouveia -
Número de respostas: 5

Tentei testar a minha função caras_em_amostra_aleatoria no Shell e deu o erro: 'module' object has no attribute 'choices'. Alguém sabe  o que significa?

Segue abaixo uma cópia do Shell:

In [2]: import random

In [3]: random.seed(12345)

In [4]: caras_em_amostra_aleatoria (5, 0.3, True)
Traceback (most recent call last):

  File "<ipython-input-4-c4529849f11d>", line 1, in <module>
    caras_em_amostra_aleatoria (5, 0.3, True)

  File "/home/be/estevaodias/Desktop/ep10.py", line 135, in caras_em_amostra_aleatoria
    amostra_aleatoria = random.choices("HT", weights=(p, 1-p), k=n)

AttributeError: 'module' object has no attribute 'choices'

Em resposta à Estevao Monteiro Dias Gouveia

Re: Erro EP10

por Wilson Marco Sales Moncayo -

Será que você não está rodando o interpretador do Python2 na sua máquina? O módulo nesta versão da linguagem realmente não tem o membro choices:

$ python -c 'import random; print(random.choices("HT", weights=(0.3, 0.7), k = 5))'
['T', 'T', 'T', 'H', 'H']
$ python2 -c 'import random; print(random.choices("HT", weights=(0.3, 0.7), k = 5))'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'choices'
Em resposta à Wilson Marco Sales Moncayo

Re: Erro EP10

por Estevao Monteiro Dias Gouveia -

Não sei ao certo. Estou usando os computadores da Rede Linux. Em alguns lugares aparece escrito "Spyder 3", em outros "Spyder 2"  ou então "Spyder (Python 3.4)".

Enfim, talvez seja isso mesmo. Obrigado por avisar.

Em resposta à Estevao Monteiro Dias Gouveia

Re: Erro EP10 de range

por Daiane Carolina Silva -

 

esta linha esta dando out of range...

dentro do looping for, mas nao sei o que coloco no range pra considerar

 

seria legal um help antes das 23h50

--- pedaço de código removido da mensagem original --- 

 

Em resposta à Daiane Carolina Silva

Re: Erro EP10 de range

por Juliana Trevine -

e o "range" aqui nao se refere ao comando "in range" (vc pode usar o for mesmo assim), tá mais falando que esta fora "do alcance" dos elementos que a lista que você está trabalhando. Tipo, se vc tem uma lista de 5 elementos e pedir pro programa te dar o que está na 6a posição, ele vai fazer que está fora do alcance (out of range).

Eu diria pra vc alterar o loop de alguma forma à fazer 1 interação à menos, ou entao dar uma olhada como voce está contando os valores do index da lista (lembra que começa do 0 e não do 1)