Oii Julia, tudo bem?
Obrigada por compartilhar sua solução aqui no fórum! Bacana ver a escolha de guardar as operações em um dicionário com lambdas, isso deixa o código bem organizado e fácil de escalar caso queira adicionar novas operações no futuro.
Um detalhe que vale destacar: você já tratou a divisão por zero diretamente na lambda, o que é uma boa prática. Vale notar que, nesse caso, o retorno pode ser tanto um float quanto uma string, dependendo do valor de y. Uma alternativa para manter o tipo consistente seria lançar uma exceção ou fazer a verificação fora da lambda, antes de chamar a operação.
Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.
Bons estudos!
Sucesso ✨