3
respostas

diferença entre "int" e "round" antes de (random.random() * 101).

Eu não entendi qual é a diferença entre "int" e "round" antes de (random.random() * 101). Eles não geram o mesmo resultado??

3 respostas

Uma diferença entre o "int" e o "round" é que o "int" arredonda pra menos e o "round" arredonda pra mais, se após o "." o número for >500000..., ex: 9.51.

Teste esse código:

print(int(98.6)) print(round(98.6))

A saída será:

98 99

Em relação ao número aleatório gerado pelo (random.random() * 101), a saída seguiria a regra que eu expliquei acima, com "int" e "round".

Seria uma das diferenças, mas pode ser que existam mais.

Tenho impressão que não é bem assim. Creio que o mais correto é dizer que o "round" vai arredondar e o "int" vai pegar a parte inteira do número.

Se você tem o número: 99.4

A parte inteira dele é "99", de forma que o "int" vai ignorar qualquer coisa após o ponto (parte fracionária). Então ele não arredonda em si, apenas seleciona uma parte da variável.

Já o "round" é, de fato, o arredondamento propriamente dito. E ele arredonda para cima ou para baixo. Então, round(5.4) = 99 round(5.6) = 6

Curioso quando o número é "x.5". Quando X é par, ele arredonda para baixo e quando X é ímpar, ele arredonda para cima. O motivo? Nem faço ideia.

Quando abri o arquivo sobre "round", você ainda pode por um parâmetro (opicional) para casas decimais. Por exemplo, se quiser duas casas decimais: round(1.777777, 2) Resultado dará 1.78

Se tiver dúvidas, é legal abrir o console do python e testar valores e ver o funcionamento para ficar mais claro.

o round vai arredondar com o número de casas que você passar para ele.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software