Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resposta - listas, for e try except

# 1 - Crie uma lista para cada informação a seguir:
# Lista de números de 1 a 10;
# Lista com quatro nomes;
# Lista com o ano que você nasceu e o ano atual.

lista_de_numeros = [1,2,3,4,5,6,7,8,9,10]
Lista_de_nomes = ['Carlos', 'Abgail', 'Alexandro', 'Thomas']
lista_de_anos = [2002, 2026]

print(lista_de_numeros, Lista_de_nomes, lista_de_anos, sep='\n')
# 2 - Crie uma lista e utilize um loop for para percorrer todos os elementos da lista.

lista_de_ingredientes = ['alho', 'milho', 'sal', 'pimenta']

for ingrediente in lista_de_ingredientes:
    print(f'{ingrediente}')

else:
    print ('Não há mais ingredientes')
# 3 - Utilize um loop for para calcular a soma dos números ímpares de 1 a 10.

lista_de_numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (Aqui o range teria sido bem mais eficiente) 
soma = 0

for numero in lista_de_numeros:
     if numero % 2 == 1:
          soma = soma + numero


print(f'{soma}')
# 4 - Utilize um loop for para imprimir os números de 1 a 10 em ordem decrescente.

for i in range(10, 0, -1):
    print(i)
# 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.

lista_de_numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
valor = int(input('Digite um número: '))
resultado = 0

for numero in lista_de_numeros:
    resultado = valor * numero
    print (f'{valor} x {numero} = {resultado}') 
# 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.

lista_de_numeros = [1,2,3,4,5,6,7,8,9,10,None]
soma = 0

try:
    for numero in lista_de_numeros:
        soma += numero
except TypeError as e:
    print (f'O valor {e} gerou um erro. É necessário um valor inteiro. ')
finally:
    print (f'{soma}')
# 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. (nessa aqui a forma como o prof resolveu também se mostrou mais eficiente)

lista_de_numeros = [4, 3, 5, 8]
soma = 0
tamanho = len(lista_de_numeros)

try:
    for numero in lista_de_numeros:
        soma += numero
except Exception as e:
    print (f'A média {e} não possui valor específico.')
finally:
    print (f'O valor médio é de {soma / tamanho}')
1 resposta

Oi, Nathã. Tudo bem com você?

Obrigado por compartilhar suas resoluções da atividade sobre listas, laços for e tratamento de exceções. É interessante observar que, além de resolver os exercícios, você também fez comentários sobre alternativas mais eficientes, como o uso de range em determinados cenários. Isso demonstra que você está refletindo sobre diferentes formas de implementar uma mesma solução, o que contribui bastante para a evolução na linguagem. De modo geral, as soluções atendem ao que foi proposto e mostram um bom domínio dos conceitos apresentados no capítulo.

Há apenas um ponto que merece atenção no exercício da média. O bloco try envolve apenas a soma dos elementos, enquanto a possível exceção de divisão por zero acontece na expressão soma / tamanho, que está dentro do finally. Dessa forma, caso a lista esteja vazia, a exceção não será tratada.

Como exercício complementar, de que forma você adaptaria essas soluções para que funcionassem com listas preenchidas pelo próprio usuário em vez de listas definidas diretamente no código?

Parabéns pelo empenho em resolver todas as atividades e por compartilhar suas observações durante a prática. Continue contribuindo no fórum. Ele está à disposição para acompanhar sua evolução.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!