Oi, Eduardo, como vai?
Sua solução atende ao desafio e utiliza corretamente funções lambda para cada operação matemática. A seleção da operação por meio das estruturas condicionais está adequada, e o uso de :g na exibição do resultado é um detalhe interessante para evitar zeros desnecessários em números inteiros.
Como ponto de atenção, seu código não trata dois cenários: quando o usuário informa um operador diferente dos esperados e quando ocorre uma divisão por zero. Nesses casos, a variável resultado pode não ser definida ou uma exceção pode ser gerada.
Por exemplo, se o operador informado for %, o programa não terá uma condição correspondente. Da mesma forma, uma divisão como 10 / 0 resultará em erro durante a execução.
Como você poderia adaptar sua solução para validar a operação escolhida e lidar com divisões por zero de forma segura?
Parabéns pela resolução e por compartilhar seu código. Continue praticando e conte com o fórum sempre que precisar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!