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

[Sugestão] Automatizar agradecimentos

eventos = [{'evento': "workshop", "tempo": 3}, {'evento': "show", 'tempo': 4}]
tempo = int(input("Quanto tempo em evento? "))
tipo = input("Evento: ")
achou = False  # bandeira pra saber se encontrou
for e in eventos:
    if tipo == e["evento"]:
        achou = True
        if tempo == e["tempo"]:
            print("Muito obrigado")
        else:
            print("Tempo diferente do esperado")
if not achou:
    print("Evento não achado")
1 resposta

Olá, Emanuel! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a lista de dicionários para organizar os eventos com Python, utilizou muito bem a estrutura de repetição para verificar cada item e ainda compreendeu a importância da condicional para validar se o evento existe e se o tempo corresponde ao esperado.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é simplificar a busca usando next() com tratamento de exceção. Assim:

eventos = [{'evento': "workshop", "tempo": 3}, {'evento': "show", 'tempo': 4}]

tempo = int(input("Quanto tempo em evento? "))
tipo = input("Evento: ")

try:
    e = next(ev for ev in eventos if ev["evento"] == tipo)
    if tempo == e["tempo"]:
        print("Muito obrigado")
    else:
        print("Tempo diferente do esperado")
except StopIteration:
    print("Evento não achado")

Isso faz a busca ser mais direta e elimina a necessidade da bandeira achou.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Uso de funções: separar a lógica de busca em uma função reutilizável.
  • Validação de entrada: garantir que o usuário não insira valores inválidos.
  • Mensagens claras: informar ao usuário o que está acontecendo em cada etapa.

Ah, uma pergunta: você acha que deixar o código mais compacto com next() facilita a leitura e manutenção ou prefere manter a lógica com laço e bandeira para maior clareza?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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