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 Arch Linux)

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts