-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculadora.py
More file actions
138 lines (126 loc) · 4.16 KB
/
Copy pathcalculadora.py
File metadata and controls
138 lines (126 loc) · 4.16 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Alumno: Fran Gálvez. 2º ASIR.
# Ejercicio de calculadora en Python.
# Importo las librerías necesarias.
import sys, os
from claseCalc import Alumno
from modules.menu import imprimirMenu
from modules.varios import pausar
# Defino una lista donde guardar los objetos alumnos y su identificador
alumnos = []
# Función para crear un alumno.
def nuevoAlumno():
os.system("cls")
while True:
# Pido el nombre del alumno.
nombre = str(input("Introduce el nombre del alumno a crear: "))
# Compruebo si el alumno existe.
exist = checkIfExists(nombre)
if exist:
print("Error: el alumno ya existe.")
pausar()
break
# Si el alumno no existe, creo el objeto y lo almaceno.
else:
alumnos.append(Alumno(nombre))
print("Alumno creado correctamente.")
pausar()
break
# Función para comprobar si un alumno existe o no.
def checkIfExists(nombre):
for i in alumnos:
if i.nombre == nombre:
return True
else:
return False
# Función para realizar las operaciones del alumno.
def operaciones(alumno):
os.system("cls")
# Trabajando con el alumno seleccionado.
while True:
# Creo el menú y lo imprimo.
print("Introduce la operación a realizar: ")
menu_items = [
"1. Suma",
"2. Resta.",
"3. Multiplicación.",
"4. División."
]
imprimirMenu(menu_items)
# Seleccion que operación quiere realizar el alumno.
opcion = int(input("Introduce una opcion:"))
if opcion < 1 or opcion > 4:
print("Error: escoge una opcion entre 1 y 4.")
pausar()
continue
else:
# Pido los datos y realizao la operación
n1 = int(input("Introduce el primer numero: "))
n2 = int(input("Introduce el segundo numero: "))
if opcion == 1:
print(alumno.nombre + ": " + str(alumno.suma(n1, n2)))
pausar()
if opcion == 2:
print(alumno.nombre + ": " + str(alumno.diferencia(n1, n2)))
pausar()
if opcion == 3:
print(alumno.nombre + ": " + str(alumno.producto(n1, n2)))
pausar()
if opcion == 4:
if n2 == 0:
print("Error: no se puede dividir entre cero.")
pausar()
else:
print(alumno.nombre + ": " + str(alumno.cociente(n1, n2)))
pausar()
break
def trabajar():
os.system("cls")
while True:
# Pido el nombre del alumno con el que trabajar.
nombre = str(input("Introduce tu nombre: "))
# Compruebo si el alumno existe, y si existe, busco el objeto
if checkIfExists(nombre):
# Cojo el objeto para trabajar con él.
objeto = getAlumno(nombre)
operaciones(objeto)
break
# Si el alumno no existe, lo indico al usuario.
else:
print("Error: el alumno no existe.")
pausar()
break
# Obtener el objeto alumno.
def getAlumno(nombre):
for i in alumnos:
if i.nombre == nombre:
return i
def main():
while True:
os.system("cls")
print("Programa de calculadora.")
print("------------------------")
menu_items = [
"0. Salir",
"1. Añadir alumno.",
"2. Trabajar con alumno existente."
]
imprimirMenu(menu_items)
try:
opcion = int(input("Introduce una opcion: "))
except ValueError:
print("Error: introduce una opción válida.")
pausar()
else:
if opcion < 0 or opcion > 3:
print("Error: escoge una opcion entre 0 y 3.")
pausar()
continue
else:
if opcion == 0:
sys.exit()
elif opcion == 1:
nuevoAlumno()
elif opcion == 2:
trabajar()
if __name__ == "__main__":
main()