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!

2
respostas

Desafio: Automatizando tarefas

Para automatizar essa tarefa, o sistema deve receber como entrada a lista de participantes e as informações de horário de entrada e saída de cada um na transmissão. Em seguida, o algoritmo verifica se o participante permaneceu presente durante todo o evento. Se a presença for completa, o sistema envia automaticamente um email de agradecimento. Caso contrário, nenhum email é enviado.

Exemplo em python:

inicio_evento = "09:00"
fim_evento = "10:00"

participantes = [
{"nome": "Ana", "entrada": "09:00", "saida": "10:00"},
{"nome": "João", "entrada": "09:05", "saida": "10:00"},
{"nome": "Maria", "entrada": "09:00", "saida": "10:00"}
]

for participante in participantes:
if (participante["entrada"] == inicio_evento and
participante["saida"] == fim_evento):
print(f"Enviando e-mail de agradecimento para {participante['nome']}.")
else:
print(f"{participante['nome']} não participou de toda a transmissão.")

2 respostas

Oii Ana Júlia, tudo bem?

Obrigada por compartilhar sua solução no fórum! Sua lógica está correta: o código percorre a lista de participantes, compara os horários de entrada e saída com os do evento e decide se envia o e-mail ou não. Bem direto ao ponto.

Ficou uma solução limpa e fácil de ler. Parabéns!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade

Uma possível solução é que a lista de participantes contenha o percentual de presença de cada participante, calculado com base no tempo de permanência na transmissão. Ao final do evento, o sistema percorre a lista e envia um e-mail de agradecimento apenas aos participantes que obtiveram 100% de presença.

Ex:
static void EnviarEmail(string nome, string email)
{
Console.WriteLine($"Enviando e-mail para {nome} ({email})...");
Console.WriteLine("Obrigado por participar de toda a transmissão!\n");
}

static void Main()
{
    List<Participante> participantes = new List<Participante>
    {
        new Participante { Nome = "A", Email = "A@email.com", Presenca = 100 },
        new Participante { Nome = "B", Email = "B@email.com", Presenca = 85 },
        new Participante { Nome = "C", Email = "C@email.com", Presenca = 100 }
    };

    foreach (Participante participante in participantes)
    {
        if (participante.Presenca == 100)
            EnviarEmail(participante.Nome, participante.Email);
    }
}