1
resposta

[Projeto] calculadora com lambda

soma = lambda x, y: x + y
subtrair = lambda x, y: x - y
multiplicar = lambda x, y: x * y
dividir = lambda x, y: x / y if y != 0 else 'Erro: Divisao por zero'

x = float(input('Digite o primeiro numero: '))
y= float(input('Digite o segundo numero: '))
operacao = input('Escolha a operacao (| + | - | * | / |): ')

if operacao == '+':
    print(f'O resultado e: {soma(x, y)}')
elif operacao == '-':
    print(f'O resultado e : {subtrair(x,y)}')
elif operacao == '*':
    print(f'O resultado e : {multiplicar(x,y)}')
elif operacao == '/':
    print(f'O resultado e : {dividir(x,y)}')
else: 
    print('Operacao invalida')
1 resposta

Olá, Apollo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou a função lambda para criar operações matemáticas com Python, utilizou muito bem o operador condicional para tratar a divisão por zero e ainda compreendeu a importância da entrada de dados para tornar o programa interativo.

Uma dica interessante para o futuro é organizar as operações em um dicionário, tornando o código mais enxuto e fácil de expandir. Assim:

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'
}

x = float(input('Digite o primeiro número: '))
y = float(input('Digite o segundo número: '))
operacao = input('Escolha a operação (| + | - | * | / |): ')

resultado = operacoes.get(operacao)
if resultado:
    print(f'O resultado é: {resultado(x, y)}')
else:
    print('Operação inválida')

Isso faz a lógica ficar mais clara e facilita adicionar novas operações no futuro.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

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

Abraço e bons estudos!

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