Playground Python: tipos, dataclasses e decoradores no navegador

O mesmo Python de verdade das etapas anteriores, agora com os temas do avançado: type hints, dataclasses, lru_cache, decoradores com argumentos, context managers e métodos dunder. Complete cada desafio, execute e receba a correção na hora. Acertar soma XP.

0 de 200 XP 0/8 desafios

Desafio 1 de 8

Contrato com type hints

Complete a função com type hints: recebe uma lista de inteiros e devolve a soma (int). Teste com [10, 20, 12]. Esperado: 42

Desafio 2 de 8

Uma dataclass

Use @dataclass para criar Ponto com x e y (int) e mostre uma instância. O __repr__ vem de graça. Esperado: Ponto(x=3, y=4)

Desafio 3 de 8

Memoização com lru_cache

Use @lru_cache para memoizar a função fib (Fibonacci). Some fib(10). Esperado: 55

Desafio 4 de 8

Decorador com argumento

Complete o decorador repetir(vezes) para chamar a função esse tanto de vezes. Com repetir(3) sobre oi(), deve imprimir 'oi' tres vezes.

Desafio 5 de 8

Um context manager

Use @contextmanager para criar 'secao' que imprime 'inicio' antes e 'fim' depois do bloco with. Dentro do with, imprima 'meio'. Esperado, em ordem: inicio / meio / fim

Desafio 6 de 8

Pipeline de geradores

Complete o gerador pares() para produzir só os números pares de nums. Some o resultado. Esperado: 12 (2+4+6)

Desafio 7 de 8

Validação com property

Complete o setter de 'idade' para levantar ValueError se for negativa. Ao tentar -5, o programa deve imprimir 'invalida'. Com 30, imprime a idade.

Desafio 8 de 8

Métodos dunder

Complete __len__ para devolver a quantidade de itens do Carrinho. Esperado: 3