Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Seed não funciona

Pessoal, boa noite.

Fiquei com bastante dúvida no seed mas estou buscando entender.

No vídeo o instrutor usa seed(10)

No meu código ele me retorna um erro, só consigo escrever: seed=(10)

Mas parece que não funciona...

O erro que me apresenta é:

***TypeError Traceback (most recent call last) in () ----> 1 seed (10)

TypeError: 'int' object is not callable *

Se alguém souber e puder me ajudar... Valeu :)

4 respostas
solução!

Olá Guilherme, tudo bem? Espero que sim!

Está ocorrendo um erro porque quando você fez seed = (10) foi criada uma variável seed que possui o mesmo nome da função seed da biblioteca random, portanto quando tenta fazer seed(10), o Python tentará utilizar a variável que você criou, gerando um erro devido a essa variável ter armazenado um valor inteiro e não ser uma função que pode ser chamada com parênteses.

Reinicie o ambiente de execução do Google Colaboratory, que pode ser acessado através do menu superior.

Reiniciar ambiente de execução no Google Colaboratory

Tenha certeza de que executou os imports da aula e rode o código novamente.

from random import randrange, seed
seed(10)
randrange(0,11)
notas_matematica = []

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

Bons estudos!

Professor João, o meu codigo desse mesmo topico não dá erro, mas mesmo com o seed definido, quando dou o randrange(0,11), ele fica variando o valor retornado toda vez que executo ele. O que pode ser? Inclusive fiz o teste copiando os codigos que o sr deixou disponível acima.

OBS: o sr. escreveu errado "randgrange(0,11)" e não "randrange(0,11)", é melhor corrigir!

Obrigada

Olá Carina, tudo bem? Espero que sim!

Obrigado por avisar sobre o erro do randgrange(0, 11). Corrigi para a forma correta.

Se você rodar a célula randrange(0,11) novamente sem rodar o seed(10), ele irá apresentará de fato um outro valor, mas sempre na mesma sequência. Já se rodar o seed(10) uma vez e posteriormente o randrange(0, 11), sempre acusará o mesmo valor. Por exemplo:

Usando seed da biblioteca numpy para manter o mesmo padrão aleatório

Repare que foi executado o seed(10) antes de cada execução da randrange(0, 11) apresentando sempre o valor 9.

Usando seed da biblioteca numpy para manter o mesmo padrão aleatório

Repare que agora foi executado o seed(10) e logo após 3 execuções da função randrange(0, 11). Depois repeti o procedimento e a sequência se manteve a mesma, começando em 9, depois 0 e depois 6.

O seed() não fixa o número que vai ser apresentado e sim o mesmo padrão de ciclo de aleatorieade.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Entendi, obrigada!!