1
resposta

[Dúvida] Exercício 9 não possui a saída que desejo

Escrevendo o mesmo código que o instrutor:

from math import sqrt

numeros = [2, 8, 15, 23, 91, 112, 256]
# iniciando uma lista vazia para receber as raízes
raiz = []

# laço for para calcular cada raiz da lista de números e adicionar a lista raiz
for numero in numeros:
  raiz.append(sqrt(numero))

# 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])}")

A saída ficou:

O número 256 possui raiz quadrada inteira igual a 16

Desejava ver a saída de cada número!

1 resposta

Olá, Miguel, tudo bem?

Você pode ajustar seu código para exibir uma mensagem para todos os números, indicando se a raiz é inteira ou não. Abaixo deixo uma sugestão de código:

from math import sqrt

numeros = [2, 8, 15, 23, 91, 112, 256]
raiz = []

for numero in numeros:
    raiz.append(sqrt(numero))

for i in range(len(raiz)):
    if raiz[i] // 1 == raiz[i]:
        print(f"O número {numeros[i]} possui raiz quadrada inteira igual a {int(raiz[i])}")
    else:
        print(f"O número {numeros[i]} não possui raiz quadrada inteira (raiz = {raiz[i]})")

Espero ter ajudado.

Qualquer dúvida, não hesite em compartilhar no fórum.

Abraços e bons estudos!

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