1
resposta

[RESPOSTA]

def primeiro_numero():
    return float(input("Digite o primeiro número: "))

def segundo_numero():
    return float(input("Digite o segundo número: "))

def escolha_operacao():
    return input("Escolha a operação (| + | - | * | / |): ")

def calculadora():
    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"

    operacoes = {
        '+': soma,
        '-': subtrai,
        '*': multiplica,
        '/': divide
    }

    numero1 = primeiro_numero()
    numero2 = segundo_numero()
    operacao = escolha_operacao()

    if operacao in operacoes:
        resultado = operacoes[operacao](numero1, numero2)
        print(f'O resultado é: {resultado}')
    else:
        print('Operação inválida')


calculadora()
1 resposta

Boa tarde, Maurício! Como está?

A resposta para a atividade ficou incrível!

Notei que você utilizou o conceito de funções separadas para organizar melhor o fluxo da calculadora, aplicou de forma eficaz o uso de lambdas para simplificar as operações matemáticas e compreendeu a importância do dicionário de funções para tornar o código mais limpo e escalável.

Um próximo passo interessante seria explorar o tratamento de exceções com try e except para tornar o programa mais robusto. Veja o exemplo:

def primeiro_numero():
    try:
        return float(input("Digite o primeiro número: "))
    except ValueError:
        return "Erro: Entrada inválida"

# Aplicável também às outras funções de entrada

Isso permite capturar erros de entrada do usuário, o que pode ser muito útil para evitar falhas inesperadas durante a execução.

Ícone de sugestão 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!

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