Olá, Ricardo, como vai?
Seu código está muito bem estruturado e cumpre perfeitamente o objetivo do desafio. Você conseguiu aplicar o conceito de funções lambda para resolver o problema de forma concisa e eficiente. O uso de if
para cada operação é uma abordagem válida e direta para a solução.
Um detalhe que você pode explorar para deixar o código ainda mais legível e escalável é o uso de um dicionário para mapear as operações. Isso pode substituir a sequência de ifs, tornando a lógica mais clara, principalmente se houvesse mais operações para adicionar.
Por exemplo, você poderia criar um dicionário onde a chave é o operador e o valor é a função lambda correspondente.
num_1 = float(input ('Digite o primeiro número: '))
num_2 = float(input ('Digite o segundo número: '))
operacao = input('Escolha a operação (| + | - | * | / |): ')
operacoes = {
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
'/': lambda a, b: a / b
}
if operacao in operacoes:
resultado = operacoes[operacao](num_1, num_2)
print(f'O resultado é: {resultado}')
else:
print('Operação inválida')
O fórum está à sua disposição. Se tiver dúvidas ou quiser compartilhar seus projetos, sinta-se à vontade para postar.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!