1
resposta

Exercício 9

# laço for para ler a lista raiz e exibir um texto só quando a raiz for um valor inteiro 
for i in range(len(raiz)):
  # condição para testar se um número é inteiro (Ex: 2.5 // 1 = 2 ... 2 != 2.5)
  if raiz[i] // 1 == raiz[i]:
    print(f"O número {numeros[i]} possui raiz quadrada inteira igual a {int(raiz[i])}")
```	

Não entendi bem como funciona a parte abaixo:

condição para testar se um número é inteiro (Ex: 2.5 // 1 = 2 ... 2 != 2.5)

if raiz[i] // 1 == raiz[i]:
```

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Vitor, tudo bem?!

A parte if raiz[i] // 1 == raiz[i]: serve para verificar se o número é inteiro.
O operador // faz a divisão inteira, ou seja, ele descarta a parte decimal do resultado.

Por exemplo:

  • 2.5 // 1 resulta em 2.0
  • 3.0 // 1 resulta em 3.0

Então, quando o código compara raiz[i] // 1 == raiz[i], ele está checando se a divisão por 1 não alterou o valor.
Se não alterou, quer dizer que o número não tinha parte decimal — ou seja, é um número inteiro.

É uma forma simples de testar se a raiz quadrada resultou em um valor exato.

Por exemplo, se raiz[i] for 4.0, a divisão 4.0 // 1 resulta em 4.0, que é igual a raiz[i], indicando que 4.0 é um número inteiro. Já para 2.5, 2.5 // 1 resulta em 2.0, que não é igual a 2.5, indicando que 2.5 não é um inteiro.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!