1
resposta

Desafio

soma = lambda x, y: x + y 

subtrai = lambda x, y: x - y 

multiplica = lambda x, y: x * y 

divide = lambda x, y: x / y if y != 0 else "Erro: Divisão por zero" 

x = float(input("Digite o primeiro número: ")) 

y = float(input("Digite o segundo número: ")) 

operacao = input("Escolha a operação (| + | - | * | / |): ") 
 
if operacao == '+': 
    print(f"O resultado é: {soma(x, y)}") 
elif operacao == '-': 
    print(f"O resultado é: {subtrai(x, y)}") 
elif operacao == '*': 
    print(f"O resultado é: {multiplica(x, y)}") 
elif operacao == '/': 
    print(f"O resultado é: {divide(x, y)}") 
else: 
    print("Operação inválida")
1 resposta

Oi, Ronaldo! Como vai?

Agradeço por compartilhar.

Seu desafio ficou bem organizado: você usou lambda para deixar as operações mais diretas e ainda tratou a divisão por zero, o que mostra cuidado com possíveis erros durante a execução.

Uma dica interessante para o futuro é usar um dicionário para relacionar cada operação à sua função, reduzindo a quantidade de if e elif.

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: divisao por zero"
}

resultado = operacoes[operacao](x, y) if operacao in operacoes else "Operacao invalida"
print(resultado)

Esse código guarda as operações em um dicionário e executa a função de acordo com o simbolo escolhido pelo usuário.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!