4
respostas

nao estou conseguindo "travar" os valores com o SEED

boa tarde, toda vez que eu executo o codigo, ate mesmo o que foi copiado do site, quando testo repetidas vezes, o resultado final (lista) aparece de forma aleatorea..

from random import randrange, seed seed(11) randrange(0,11) se eu executo novamente aqui, o resultado de saida as vezes altera para 8, 9 ao inves de 7 7

notas_matematica = []

for notas in range(8): notas_matematica.append(randrange(0,11))

notas_matematica se eu executo novamente aqui, o resultado de saida vem totalmente randomico, nao repetindo o [3,2,8,7,10,9,2,1] [3, 2, 8, 7, 10, 9, 2, 1]

exemplos: [7, 4, 2, 1, 8, 10, 0, 9] [6, 7, 10, 9, 10, 2, 9, 0] [8, 1, 0, 0, 3, 3, 9, 0]

nao estou entendendo o que esta acontecendo... se alguem puder me ajudar, ficaria muito grato. att, joao

4 respostas

Olá João,

Você rodou a célula com o seed(11)? Digo, usou shift+enter com essa célula selecionada antes de rodar o randrange? Se possível, coloca aqui um print desse trecho do colab. Aguardo retorno para poder ajudar!

Olá João.

Note que quando se define uma seed, ela irá definir um padrão de geração de números aleatórios a partir da sua declaração.

Ao declararmos a seed e criarmos três listas em sequência, podemos ver que elas possuem valores distintos.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ao redefinirmos a seed para o mesmo valor, veremos que se forem criadas três novas listas, a geração de valores será idêntica.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Provavelmente você está esquecendo de redefinir a seed para o mesmo valor posteriormente declarado.

Espero ter ajudado. Abraços, Renato.

Olá,

João tb estava com essa duvida...E no caso descobri que precisa rodar as células na ordem seed, randrange e a função notas_matematica. Sempre que for testar faça nessa ordem.

Também fiz outro teste colocando tudo na mesma célula e funcionou.

seed(11)
randrange(0,11)

notas_matematica = []

for notas in range(8):
  notas_matematica.append(randrange(0,11))

notas_matematica

Parece ok,

seed(11)
randrange(0,11)

notas_matematica = []

for notas in range(8):
  notas_matematica.append(randrange(0,11))

notas_matematica