import os
def somar(num1, num2):
return num1 + num2
def subtrair(num1, num2):
return num1 - num2
def multiplicar(num1, num2):
return num1 * num2
def dividir(num1, num2):
if num2 == 0:
raise ZeroDivisionError
return num1 / num2
def obter_numero():
while True:
try:
numero = float(input("Escolha um numero: "))
return numero
except ValueError:
os.system("cls")
print("Entrada inválida! Por favor, insira um número válido.")
def calculadora(num1,operacao, num2):
try:
num1 = obter_numero()
while True:
operacao = input("escolha uma operação (+, -, *, /): ")
if operacao not in ["+", "-", "*", "/"]:
print("Operação inválida! Escolha entre +, -, * ou /.")
continue
break
num2 = obter_numero()
if operacao == "+":
resultado = somar(num1, num2)
elif operacao == "-":
resultado = subtrair(num1, num2)
elif operacao == "*":
resultado = multiplicar(num1, num2)
elif operacao == "/":
resultado = dividir(num1, num2)
else:
return "Operação inválida!"
os.system("cls")
print(f"O resultado de {num1} {operacao} {num2} é: {resultado}")
except ValueError:
os.system("cls")
return "Erro: Entrada invalida. Insira somente numeros validos!"
except ZeroDivisionError:
os.system("cls")
print("Erro: Divisão por zero não é permitida.")
calculadora(0, "", 0)