1
resposta

[Projeto] 10 - Hora da prática: listas, for e try except

#1 - Crie uma lista para cada informação a seguir:
lista_numeros = [1,2,3,4,5,6,7,8,9,10]
lista_nomes = ['João','Pedro','Maria','Joaquim']
lista_de_anos = [1992,2025]
lista_de_notas = [8,9,3,5,8]

#2 - Crie uma lista e utilize um loop for para percorrer todos os elementos da lista.
def leia_lista_numeros():
      print('====LISTA DE NUMEROS====')  
      for lista in lista_numeros:
            print (f'.{lista}')

def leia_lista_nomes():
      print('====LISTA DE NOMES====')   
      for loop_nomes in lista_nomes:
            print (f'.{loop_nomes}')

def leia_lista_anos():
      print('====LISTA DE ANOS====')   
      for loop_anos in lista_de_anos:
            print (f'.{loop_anos}')
      print('------')
  
#3 - Utilize um loop for para calcular a soma dos números ímpares de 1 a 10.
def calculando_impar():
    print('\n')
    print('Calculando a soma dos números ímpares de 1 a 10...')
    soma_numeros_impar = 0
    for lista_num_impar in lista_numeros:
        if lista_num_impar % 2 != 0:
            soma_numeros_impar += lista_num_impar
    print(f"A soma dos números ímpares é: {soma_numeros_impar}\n")

#4 - Utilize um loop for para imprimir os números de 1 a 10 em ordem decrescente.   
def listando_numeros_desc():
    print('\n')
    print('Listando números de 1 a 10 em ordem decrescente:')
    for lista_ordem in sorted(lista_numeros, reverse=True):
        print(lista_ordem)

#5 - Solicite ao usuário um número e, em seguida, utilize um loop for para imprimir a tabuada desse número, indo de 1 a 10.
def Numero_tabulada():
     print('\n')
     print('Multiplicando os numeros de 1 a 10')
     informe_um_numero = int(input('Informe um número: '))
     for numero_multiplicar in lista_numeros:
          armazena_numero = print(f'{numero_multiplicar}x{informe_um_numero} = {numero_multiplicar*informe_um_numero}')
     print('\n')

#6 - Crie uma lista de números e utilize um loop for para calcular a soma de todos os elementos. Utilize um bloco try-except para lidar com possíveis exceções.
def soma_numeros_element():
    print('\n')
    print('Calculando a soma dos números...')
    try:
        soma = 0
        for numero in lista_numeros:
            soma += numero
        print(f'A soma dos números é: {soma}')
    except:
        print('Erro')

#7 - Construa um código que calcule a média dos valores em uma lista. Utilize um bloco try-except para lidar com a divisão por zero, caso a lista esteja vazia.
def calcula_media():
    print('\n')
    print('Calculando a média de notas')
    try:
        soma = 0
        for nota in lista_de_notas:
            soma += nota

        media = soma / len(lista_de_notas)
        
        print(f'A média do aluno é {media:.2f}')

    except:
        print('Lista vazia')


leia_lista_numeros()
leia_lista_nomes()
leia_lista_anos()
calculando_impar()
listando_numeros_desc()
Numero_tabulada()
soma_numeros_element()
calcula_media()
1 resposta

Bom dia, Karoline.

Excelente utilização de laços e modularização em funções, parabéns.

Algumas sugestões importantes:

A mais importante é: Use nomes descritivos.

No código:

      for lista in lista_numeros:

Parece que está iterando várias listas em uma lista de listas. Um nome mais descritivo seria:

      for numero in lista_numeros:

Deixando claro que está iterando números em uma lista de números.

O mesmo com loop_anos que poderia ser melhor escrito como ano, já que está iterando um ano de cada vez da lista_anos. Isso se repete com lista_num_par, que seria melhor escrito como numero, já que não é uma lista de números par, é apenas um número. E assim por diante.

Isso é uma boa prática extremamente importante de ser seguida. Os nomes das variáveis devem sempre descrever o que é aquela variável, não para o que ela será usada.

Mas sua lógica está excelente, basta se atentar à nomenclatura de suas variáveis, e você verá que seu código ficará mais simples, conciso e fácil de ler.

Parabéns pelos estudos contínuos!