1
resposta

resolução

def primeiro_numero():
    numero_um = int(input('digite o primeoro numero: '))
    return numero_um

def operacao():
    operador= input('digite operacao(/, + , - , *): ')
    return operador


def ultimo_numero(numero_um, operador):
    ultimo = int(input('digite o ultimo numero: '))

    if operador == '+':
        conta = numero_um + ultimo
        return conta

    elif operador == '-':
        conta= numero_um - ultimo
        return conta

    elif operador == '*':
        conta= numero_um * ultimo
        return conta

    elif operador == '/':
        conta= numero_um / ultimo
        return conta
    else:
        return "Operação inválida!"

num1 = primeiro_numero()
op = operacao()
resultado = ultimo_numero(num1, op)
print(resultado)
1 resposta

Olá, Fabricio, como vai?

O seu código cumpre a lógica principal da calculadora, porém ainda não incorpora os blocos de try e except pedidos na atividade. Isso faz com que erros de entrada e a divisão por zero não sejam tratados, além de permitir que o programa quebre caso o usuário digite algo que não seja número.

Uma forma de ajustar seria envolver as conversões para inteiro dentro de um try, tratando ValueError, e verificar o divisor antes da operação de divisão para evitar ZeroDivisionError. Assim você mantém a estrutura do seu código, apenas adicionando a camada de segurança solicitada.

Continue compartilhando seus exercícios no fórum, estamos à disposição.

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