1
resposta

Resolução de Atividades - 11 Faça como eu fiz: calculadora com lambda

try:

    numero_usuario_1 = int (input ("Digite um número: "))
    numero_usuario_2 = int (input ("Digite outro numero: "))
    operacao_usuario = input ("Escolha o operador a ser utilizado (+, -, * ou /): ")

    if operacao_usuario == "+":

        soma = lambda N1, N2: N1 + N2;

        print (f"Resultado = {soma (numero_usuario_1, numero_usuario_2)}")

    elif operacao_usuario == "-":

        subtracao = lambda N1, N2: N1 - N2;

        print (f"Resultado = {subtracao (numero_usuario_1, numero_usuario_2)}")
    
    elif operacao_usuario == "*":

        multiplicacao = lambda N1, N2: N1 * N2;

        print (f"Resultado = {multiplicacao (numero_usuario_1, numero_usuario_2)}")

    elif operacao_usuario == "/":

        divisao = lambda N1, N2: N1 / N2;

        print (f"Resultado = {divisao (numero_usuario_1, numero_usuario_2)}")
    
    else:

        print ("Digite uma operação válida!")

except ValueError: 
    
    print ("Digite um número válido")
1 resposta

Olá, Victor! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da lambda para simplificar funções com Python, utilizou muito bem o tratamento de exceções para validar entradas e ainda compreendeu a importância do condicional if elif else para controlar o fluxo do programa.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o uso de dicionários para mapear operações. Assim:

operacoes = {
    "+": lambda x, y: x + y,
    "-": lambda x, y: x - y,
    "*": lambda x, y: x * y,
    "/": lambda x, y: x / y
}

numero_usuario_1 = int(input("Digite um número: "))
numero_usuario_2 = int(input("Digite outro número: "))
operacao_usuario = input("Escolha o operador (+, -, * ou /): ")

if operacao_usuario in operacoes:
    print(f"Resultado = {operacoes[operacao_usuario](numero_usuario_1, numero_usuario_2)}")
else:
    print("Digite uma operação válida!")

Isso faz com que o código fique mais enxuto e otimizado para manter.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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