Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exercicio 3 (Alternativa)

Bom dia! Gostaria de mostrar como fiz o exercicio 3 e saber na pratica, em quais situações seria mais aconselhavel o uso da resolução que eu fiz e a resolução proposta pela Alura. Sei também que errei na questão que, a proposta era fazer um dicionário né, e nao um for como fiz.

range_definido = range(1 , 6)


def resolucao_minha():
    for i in range_definido:
        numero_elevado = i ** 2
        print(f'{i}² = {numero_elevado}')
        #quadrados = {i : numero_elevado}
    #print(quadrados)



def resolucao_alura():   
    quadrados = {i : i ** 2 for i in range_definido}
    print(quadrados)

def main():
    #resolucao_alura()
    resolucao_minha()

if __name__ == '__main__':
    main()

Támbem gostaria de saber se tem como, com a minha resolução, imprimir o dicionario como é impresso na resolução Alura, pois nao consegui.

Desde já, muito obrigado

1 resposta
solução!

Bom dia, Luiz!

Vamos às suas dúvidas:

Quando usar cada abordagem: A abordagem que você usou (usando um loop for para imprimir cada número e seu quadrado) é útil quando você quer realizar uma ação (neste caso, imprimir) para cada elemento de uma lista. A abordagem da Alura (usando uma compreensão de dicionário para criar um dicionário de quadrados) é útil quando você quer criar um novo dicionário baseado em uma lista existente. Como imprimir o dicionário com a sua resolução: Para imprimir o dicionário com a sua resolução, você pode criar um dicionário vazio antes do loop for, adicionar cada número e seu quadrado ao dicionário dentro do loop, e então imprimir o dicionário depois do loop. Aqui está como você pode fazer isso:

def resolucao_minha():
    quadrados = {}
    for i in range_definido:
        numero_elevado = i ** 2
        quadrados[i] = numero_elevado
    print(quadrados)

Espero que isso ajude! Se você tiver mais perguntas, fique à vontade para perguntar.