1
resposta

Resposta A não pode ser correta.

A resposta "A" no pode estar correta. int(random.random() * 101) random.random()*101 tem como valor máximo (para duas casas decimais como exe.) 0.99 que multiplicado por 101 teríamos 99.99. E como a função int() não arredonda os valores, ela apenas remove a parte decimal, logo, o valor máximo obtido com a expressão da letra A seria 99. Correto?

1 resposta

Olá, eu achei estranho também mas na verdade 99.99 não é gerado creio eu, pelo menos nos meus testes nunca gerou, mesmo em loop. Sempre vai ser algo bem mais próximo de 1.0, como 0,999999, e quando você multiplica 0,999 por 101, já temos 100,899

"Correto! A função random.random() sempre nos retorna um número entre 0.0 e algum valor menor 1.0"

Então o valor máximo que gera "int(random.random() * 101)" é 100.9999..., se você apenas rodar no Python int(100.9999) a saída vai ser 100, E caso a multiplicação fosse por 100, o valor máximo seria 99,99999...