Saudações! Tudo bem?
Parabéns! Mantenha o ritmo nos exercícios e continue compartilhando na nossa comunidade.
Percebi que você dominou o uso de funções lambda para simplificar expressões, aplicou muito bem o match-case
para selecionar operações matemáticas e ainda demonstrou compreender a relevância da organização por funções para facilitar a leitura e manutenção do código.
Uma sugestão para evoluir ainda mais é usar um dicionário de funções com o objetivo de tornar o código mais flexível e escalável. Veja só:
def calcula(operacao, a, b):
operacoes = {
"+": lambda x, y: x + y,
"-": lambda x, y: x - y,
"*": lambda x, y: x * y,
"/": lambda x, y: x / y if y != 0 else "Erro: divisão por zero"
}
resultado = operacoes.get(operacao)
if resultado:
print(f'O resultado é: {resultado(a, b)}')
else:
print('Operação inválida.')
a = float(input("Digite o 1° número: "))
b = float(input("Digite o 2° número: "))
operacao = input("Escolha a operação [+] [-] [*] [/]: ")
calcula(operacao, a, b)
Resultado:
Digite o 1° número: 2
Digite o 2° número: 3
Escolha a operação [+] [-] [*] [/]: *
O resultado é: 6.0
Essa abordagem ajuda a reduzir a duplicação de código e facilita a inclusão de novas operações.
Para saber mais:
Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!