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

Resposta incorreta, sendo marcada como correta

A questão pede o seguinte: Selecione todas as opções abaixo que são uma instrução do Python capaz de gerar um número inteiro aleatório entre 0 e 100 (incluindo 100, ou seja [0,100]):

Umas das respostas marcadas como corretas, propõe o seguinte: int(random.random() * 101);

E essa resposta é marcada como correta, mesmo não pedido o que o enunciado pede, a explicação que é dada para essa alternativa é a seguinte: Correto! A função random.random() sempre nos retorna um número entre 0.0 e algum valor menor 1.0, multiplicando por 100 obteremos um número entre 0.0 e algum valor menor de 100.0. A função int() faz o trabalho de cortar as partes decimais deste número e obtemos o que queremos!

Mas nesse caso, o valor é multiplicado por 101 e não por 100!

2 respostas

Oi Sidney! Como vai?

Acredito que você está correto, tem algo errado mesmo. Imagino que deveria ser 100 tanto no comentário como na alternativa. Vou confirmar, verificar o que pode ser feito e já te retorno!

solução!

Oi Sidney, tudo bem?

No comentário da resposta é explicado que o random te gera um valor entre 0 e algo próximo de 1, ou seja. 0.99999999 como maior possibilidade. Sendo assim, a multiplicação desse número por 100 só geraria um número entre 0 e 99 (excluindo o 100) da lista.

Por isso a multiplicação precisa ser feita por 101, que vai gerar até o número 99.99 e pelo arredondamento do int, o resultado disso pode ser 100 (O número de casas decimais vai indicar se ele arredonda para 99 ou para 100).

Faz sentido?