forked from progcoursesjc/aprendiendo-sobre-github-Znorlux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCalculadora POO - Christian Lombardi.py
60 lines (54 loc) · 2.61 KB
/
Calculadora POO - Christian Lombardi.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class Division0Error(ZeroDivisionError):
pass
class ValorIncorrecto(ValueError):
pass
class Digito_incorrecto(Exception):
pass
class Calculadora:
def __init__(self):
self.resultado = 0
def ingresar_datos(self):
try:
valor= input("Ingrese numeros y operacion a realizar: ")
operador1 = all(element.isdigit() for element in valor.split()[0])
operador2 = all(element.isdigit() for element in valor.split()[2])
if operador1 == False:
print("Debes ingresar un numero en el primer operador")
c.ingresar_datos()
elif operador2 == False:
print("Debes ingresar un numero en el segundo operador")
c.ingresar_datos()
print("Si desea terminar la calculadora escriba terminar")
valor=valor.lower()
Calculadora.operar(valor,self)
except:
if len(valor.split()) != 3:
print("Debes ingresar dos numeros separados y su operador")
c.ingresar_datos()
def operar(valor,self):
if valor != "terminar":
try:
if valor.split()[1] == "+":
self.resultado = int(valor.split()[0]) + int(valor.split()[2])
print(f"El resultado de la operacion es {self.resultado:.2f}")
self.ingresar_datos()
elif valor.split()[1] == "-":
self.resultado = int(valor.split()[0]) - int(valor.split()[2])
print(f"El resultado de la operacion es {self.resultado:.2f}")
self.ingresar_datos()
elif valor.split()[1] == "*":
self.resultado = int(valor.split()[0]) * int(valor.split()[2])
print(f"El resultado de la operacion es {self.resultado:.2f}")
self.ingresar_datos()
elif valor.split()[1] == "/":
self.resultado = int(valor.split()[0]) / int(valor.split()[2])
print(f"El resultado de la operacion es {self.resultado:.2f}")
self.ingresar_datos()
except ValorIncorrecto:
print("Solo puedes ingresar valores numericos")
self.ingresar_datos()
except ZeroDivisionError:
print("No puedes dividir por 0, vuelve a intentarlo")
self.ingresar_datos()
c = Calculadora()
c.ingresar_datos()