Calculadora funcional
Em sistemas reais, você frequentemente precisa executar diferentes ações baseado em uma entrada de texto — como comandos em um terminal ou opções de menu. Usar um dicionário que mapeia strings para funções torna o código mais limpo, extensível e fácil de manter do que uma longa cadeia de if/elif. Essa técnica aparece em interpretadores, processadores de comandos e até em jogos para associar ações a teclas.
O PROBLEMA
Implemente calculadora onde cada operação é função. Use dicionário para mapear string a função.
EXEMPLO
calcular("soma",5,3) → 8SOBRE O CONCEITO
A ideia é que cada operação seja uma função independente, e um dicionário relacione o nome da operação (string) à sua respectiva função. No exemplo, 'soma' -> função_soma. Ao receber um operador, você usa dicionario[operador](a, b) para chamar a função correta. O erro comum é usar if/elif para verificar o operador, o que é proibido aqui porque torna o código menos flexível: adicionar nova operação exigiria alterar a cadeia condicional. Com dicionário, basta adicionar um par chave-valor. Além disso, o uso de in para verificar se o operador existe no dicionário é permitido e preferível a capturar exceções.
RESOLUÇÃO