Python - Quadrado de Pares [RESOLVIDO]

1. Python - Quadrado de Pares [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 26/10/2020 - 11:01h

Bom dia!

Gostaria de uma ajuda com essa questão abaixo:

Quadrado de Pares

Usando funções faça um programa que leia um valor n indefinidas vezes. O programa deve encerrar quando o valor de n for zero. Para cada n lido apresente o quadrado de cada um dos valores pares (conforme formato especificado abaixo) de 1 até n, inclusive n, se for o caso.

Entrada:

Inteiro n maior ou igual a 0.

Saída:

Será impresso na tela o quadrado de todos os números pares de 1 até n que são menores ou iguais a n, conforme exemplo abaixo.

For example:

Input
7
0

Result
6^2 = 36
4^2 = 16
2^2 = 4

Input
10
5
3
0

Result
10^2 = 100
8^2 = 64
6^2 = 36
4^2 = 16
2^2 = 4
4^2 = 16
2^2 = 4
2^2 = 4

#######

Eu tentei fazer da seguinte maneira, mas não deu certo:


def pares(n: int):
if n < 2:
return
if n % 2 != 0:
pares(n-1)

print(f"{n}^2 = {n**2}")
pares(n-2)

n = int(input())

while(n != 0):
pares (n)
n = int(input())









  


2. MELHOR RESPOSTA

Lisandro Guerra
Lisandro

(usa Linux Mint)

Enviado em 27/10/2020 - 07:53h

Akira_war escreveu:

Bom dia!

Gostaria de uma ajuda com essa questão abaixo:

Quadrado de Pares

Usando funções faça um programa que leia um valor n indefinidas vezes. O programa deve encerrar quando o valor de n for zero. Para cada n lido apresente o quadrado de cada um dos valores pares (conforme formato especificado abaixo) de 1 até n, inclusive n, se for o caso.

Entrada:

Inteiro n maior ou igual a 0.

Saída:

Será impresso na tela o quadrado de todos os números pares de 1 até n que são menores ou iguais a n, conforme exemplo abaixo.

For example:

Input
7
0

Result
6^2 = 36
4^2 = 16
2^2 = 4

Input
10
5
3
0

Result
10^2 = 100
8^2 = 64
6^2 = 36
4^2 = 16
2^2 = 4
4^2 = 16
2^2 = 4
2^2 = 4

#######

Eu tentei fazer da seguinte maneira, mas não deu certo:


def pares(n: int):
if n < 2:
return
if n % 2 != 0:
pares(n-1)

print(f"{n}^2 = {n**2}")
pares(n-2)

n = int(input())

while(n != 0):
pares (n)
n = int(input())








O exercício pede para usar funções, mas não pede para usar recursividade (a grosso modo a função chamar ela mesma). Simplificando o que você escreveu,uma solução seria esta abaixo:


def pares(n: int):
while n >= 2:
if n % 2 == 0:
print(f"{n}^2 = {n**2}")
n -= 1

while(True): #loop infinito até que ache um break
n = int(input("Número: "))
if n == 0:
break
if n >= 2:
pares(n)


Agora veja que não usei a recursão neste exemplo.
Se você desejar usar, tem que isolar a parte que repete da que é condição de exceção.

Um possível exemplo usando recursão:

def pares(n: int):
if n >= 2:
print(f"{n}^2 = {n**2}")
pares(n-2)

while(True): #loop infinito até que ache um break
n = int(input("Número: "))
if n == 0:
break
if n >= 2:
if n % 2 != 0:
n -= 1
pares(n)



Abraço e bons estudos


3. Re: Python - Quadrado de Pares

Matheus
pylm

(usa Gentoo)

Enviado em 26/10/2020 - 11:16h

Só fazer um loop for.


for i in lista_numeros:
if i <= n:
print(f'{i}^2 = {i ** 2}')


Edit: Falei besteira ali, como tem que ser par ficaria assim:


for i in lista_numeros:
is_even = i % 2
if is_even == 0 and i < n:
print(f'{i}^2 = {i ** 2}')




4. Re: Python - Quadrado de Pares [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 26/10/2020 - 11:28h

Não entendi! Onde eu colocaria o for no meu código ??


5. Re: Python - Quadrado de Pares [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 27/10/2020 - 11:42h

Muito obrigada


6. Re: Python - Quadrado de Pares [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 27/10/2020 - 11:42h

Muito obrigada !! :D