1
resposta

Minha resposta

import asyncio
import math


base_user = [
    {"nome": "Ana", "vip": True, "notificacoes_ativadas": True},
    {"nome": "João", "vip": False, "notificacoes_ativadas": True},
    {"nome": "Carla", "vip": False, "notificacoes_ativadas": False},
]

async def sender(user):
    if not user['notificacoes_ativadas']:
        print(f"{user['nome']} desativou as notificações. Nada foi enviado.")

    if user['vip']:
        print(f"Notificação VIP para {user['nome']} enviada!")
    else:
        print(f"Notificação normal para {user['nome']} enviada!")

async def main():
    print("Enviando notificações...")
    tasks = [ asyncio.create_task(sender(u)) for u in base_user]
    await asyncio.gather(*tasks)
    print("Todas as notificações foram processadas!")

asyncio.run(main())

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Franklim! Como vai?

Você estruturou bem o envio de notificações de forma assíncrona, usando asyncio para processar múltiplos usuários simultaneamente. Do jeito que você explicou, ficou claro como tratar diferentes casos, como usuários VIP ou com notificações desativadas.

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