1
resposta

Meu codigo ficou da seguinte forma:

Na hora de desenvolver a lógica por trás da questao acabei esquecendo que tinha que usar a função lambda, mas o resultado foi o mesmo:

a = float(input('Digite o primeiro número: '))
b = float(input('Digite o segundo número: '))
operadores = input(f'Escolha a operação: {[  '*' ,  '/ ',  '+' ,  '-'  ]}')

def calculadora(a,b):
    if operadores == '*':
        return a*b
    elif operadores == '/':
        if b == 0:
            return 'Erro, b não pode ser igual a 0'
        return a/b
    elif operadores == '+':
        return a+b
    elif operadores == '-':
        return a-b   
    
print(f'O resultado é: {calculadora(a,b)}')
1 resposta

Olá, Luis! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de condicionais para tratar diferentes operações, utilizou muito bem a verificação de divisão por zero e ainda compreendeu a importância de organizar a lógica em uma função.

Uma dica interessante para o futuro é aplicar a função lambda para simplificar a lógica da calculadora, tornando o código mais enxuto. Assim:

a = float(input('Digite o primeiro número: '))
b = float(input('Digite o segundo número: '))
operadores = input(f'Escolha a operação: {['*', '/', '+', '-']}')

calculadora = {
    '*': lambda x, y: x * y,
    '/': lambda x, y: 'Erro, b não pode ser igual a 0' if y == 0 else x / y,
    '+': lambda x, y: x + y,
    '-': lambda x, y: x - y
}

print(f'O resultado é: {calculadora[operadores](a, b)}')

Isso deixa o código mais compacto e aproveita o poder das funções anônimas para mapear cada operação diretamente.

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!