Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A00834702 Entrega2Proyecto
A00834702 Entrega2Proyecto
ipynb - Colaboratory
24/04/2022
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv?usp=sharing
1 def alta_empleado(empleados):
2 datosempleados=["el ID", "el nombre", "la edad", "el peso", "la altura", "si cuenta con
3 while True:
4 error=0
5 empleado=[]
6 for i in range(len(datosempleados)):
7 empleado.append(input("Ingresa " + datosempleados[i] + " del empleado que desea agre
8
9 for j in range(len(empleados)):
10 if empleado[0] == empleados[j][0]:
11 print("Parece que repitio un ID existente")
12 error = error + 1
13 if error != 0:
14 break
15
16 empleados.append(empleado)
17 continuar=input("Desea agregar otro empleado? (Si/No) ")
18
19 if continuar.lower() == "no":
20 return empleados
21
22 def calcular_imc(Empleados):
23 import copy
24 empleados=copy.deepcopy(Empleados)
25 Delgadezsevera = 0
26 Delgadezmoderada = 0
27 Delgadezaceptable = 0
28 PesoNormal = 0
29 Sobrepeso = 0
30 Obesidad = 0
31 for i in range(len(empleados)):
32 peso = empleados[i][3]
33 altura = empleados[i][4]
34 imc = float(peso) / (float(altura) ** 2)
35 imc=round(imc,2)
36 empleados[i].append(imc)
37
38 if imc < 16:
39 empleados[i].append("Delgadez severa")
40 Delgadezsevera = Delgadezsevera + 1
41
42 elif 16 <= imc < 17:
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 1/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
43 empleados[i].append("Delgadez moderada")
44 Delgadezmoderada = Delgadezmoderada + 1
45
46 elif 17 <= imc < 16:
47 empleados[i].append("Delgadez aceptable")
48 Delgadezaceptable = Delgadezaceptable + 1
49
50 elif 18.5 <= imc < 25:
51 empleados[i].append("Peso Normal")
52 PesoNormal = PesoNormal + 1
53
54 elif 17 <= imc < 30:
55 empleados[i].append("Sobrepeso")
56 Sobrepeso = Sobrepeso + 1
57
58 else:
59 empleados[i].append("Obesidad")
60 Obesidad = Obesidad + 1
61 Total = Delgadezaceptable + Delgadezmoderada + Delgadezsevera + PesoNormal + Sobrepeso +
62 print(f'{"Clasificacion IMC" : <25} {"IMC" : <10} {"ID" : <5} {"Nombre" : <15} {"Peso" :
63 for i in empleados:
64 id, nombre, edad, peso, altura, vacuna, imc, clas = i
65 if vacuna == "0":
66 vacuna = "------"
67 elif vacuna == "1":
68 vacuna = "Con Vacuna"
69 print(f'{clas : <25} {imc : <10} {id : <5} {nombre : <15} {peso : <10} {altura : <10}
70 print("\n"f'{"":<25} {"Diagnostico" : <20} {"Cantidad" : <15} {"Porcentaje" : <5}')
71 print(f'{"":<25} {"Delgadez severa" : <20} {Delgadezsevera : <15} {str((Delgadezsevera/T
72 print(f'{"":<25} {"Delgadez moderada" : <20} {Delgadezmoderada : <15} {str((Delgadezmode
73 print(f'{"":<25} {"Delgadez aceptable" : <20} {Delgadezaceptable : <15} {str((Delgadezac
74 print(f'{"":<25} {"Peso Normal" : <20} {PesoNormal : <15} {str((PesoNormal/Total)*100) +
75 print(f'{"":<25} {"Sobrepeso" : <20} {Sobrepeso : <15} {str((Sobrepeso/Total)*100) + "%"
76 print(f'{"":<25} {"Obesidad" : <20} {Obesidad : <15} {str((Obesidad/Total)*100) + "%" :
77 print(f'{"":<25} {"Total de empleados" : <20} {Total: <15}'+"\n")
78 return Empleados
79 def actualizar_empleado(empleados):
80 datosempleados = ["el ID", "el nombre", "la edad", "el peso", "la altura", "si cuenta co
81 while True:
82 C = input("ingrese el ID del empleado que desea cambiar: ")
83 error=0
84 for i in range(len(empleados)):
85 if empleados[i][0] == C:
86
87 emp = [str(i+1)]
88 dato = []
89
90 for j in range(1,len(datosempleados)):
91 dato=input("Ingresa " + datosempleados[j] + " del " + "empleado, si no desea mod
92
93 if dato == "":
94 emp append(empleados[i][j])
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 2/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
94 emp.append(empleados[i][j])
95
96 else:
97 emp.append(dato)
98 actualizar=input("¿Está seguro de que quiere actualizar los datos del empleado? \n
99 print("\n")
100 if actualizar.lower() == "si":
101 empleados.pop(i)
102 empleados.append(emp)
103
104 error=error+1
105 break
106
107 else:
108 pass
109
110 if error == 0:
111 print("Parece que el id proporcionado no existe")
112
113 else:
114 return empleados
115 def consultar_empleado(empleados):
116 datosempleados = ["ID: ", "Nombre: ", "Edad: ", "Peso: ", "Altura: ", "Cuenta con vacuna
117 while True:
118 error=0
119 C = input("ingrese el ID del empleado que desea consultar: ")
120 for i in range(len(empleados)):
121 id, nombre, edad, peso, altura, vacuna = empleados[i]
122 if empleados[i][0] == C:
123 print(f'{"ID": <2} {"Nombre": <10} {"Edad": <5} {"Peso": <5} {"Altura": <5} {"Vacu
124 print(f'{id: <2} {nombre: <10} {edad: <5} {peso: <5} {altura: <6} {vacuna: <5}'+"\
125 error=error+1
126 break
127
128 else:
129 pass
130
131 if error == 0:
132 print("Parece que el id proporcionado no existe \n")
133 break
134
135 else:
136 break
137 def crear_reporte_empleados(empleados):
138 total = 0
139 sumimc = 0
140 contador = total
141 vacunaSi = 0
142 vacunaNo = 0
143 for i in range(len(empleados)):
144 peso = empleados[i][3]
145 altura = empleados[i][4]
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 3/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
146 imc = float(peso) / (float(altura) ** 2)
147 imc = round(imc,2)
148 sumimc = sumimc + imc
149 contador = contador + 1
150 if str(empleados[i][-1]) == "1":
151 vacunaSi = vacunaSi + 1
152 else:
153 vacunaNo = vacunaNo + 1
154 vacunados = (vacunaSi/contador)*100
155 novacunados = (vacunaNo/contador)*100
156 promedioimc = sumimc/contador
157
158 print(f'{"Total de empleados": <22} {contador: <10}')
159 print(f'{"Promedio de imc": <22} {promedioimc: <10}')
160 print(f'{"Porcentaje con vacuna": <22} {vacunados: <10}')
161 print(f'{"Porcentaje sin vacuna": <22} {novacunados: <10}'+"\n")
162
163 def salir( ):
164 return
165
166
167 def menu():
168 while True:
169 print("""1. Alta de empleado.
170 2. Calcular IMC de empleado.
171 3. Cambia información del empleado.
172 4. Consulta un empleado.
173 5. Reporte de todos los empleados.
174 6. Salir.
175 """)
176 opcion = int(input("Elige una opcion: "))
177 print("")
178 if opcion < 1 or opcion > 6:
179 print("""Opción incorrecta.
180 """)
181 else:
182 return opcion
183 def main(empleados):
184 while True:
185
186 opcion = menu()
187
188 if opcion == 1:
189 alta_empleado(empleados)
190 elif opcion == 2:
191 calcular_imc(empleados)
192 elif opcion == 3:
193 actualizar_empleado(empleados)
194 elif opcion == 4:
195 consultar_empleado(empleados)
196 elif opcion == 5:
197 crear reporte empleados(empleados)
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 4/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
197 crear_reporte_empleados(empleados)
198 else:
199 salir()
200 break
201
1
empleados = []
2
main(empleados)
1. Alta de empleado.
4. Consulta un empleado.
6. Salir.
Ingresa si cuenta con vacuna covid: 1 o 0 del empleado que desea agregar: 1
Ingresa si cuenta con vacuna covid: 1 o 0 del empleado que desea agregar: 0
Ingresa si cuenta con vacuna covid: 1 o 0 del empleado que desea agregar: 0
1. Alta de empleado.
4. Consulta un empleado.
6. Salir.
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 5/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
Sobrepeso 1 33.33333333333333%
Obesidad 2 66.66666666666666%
Total de empleados 3
1. Alta de empleado.
4 Consulta un empleado
1
Empleados = [['1', 'Guadalupe', 22, 56, 1.3, '1'], ['2', 'Ramona', 22, 83, 1.5, '0'], ['3'
2
main(Empleados)
1. Alta de empleado.
4. Consulta un empleado.
6. Salir.
Ingresa si cuenta con vacuna covid: 1 o 0 del empleado que desea agregar: 1
1. Alta de empleado.
4. Consulta un empleado.
6. Salir.
Sobrepeso 1 25.0%
Obesidad 3 75.0%
Total de empleados 4
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 6/7
24/4/22, 13:35 A00834702_Entrega2Proyecto.ipynb - Colaboratory
1. Alta de empleado.
4. Consulta un empleado.
6. Salir.
Ingresa el nombre del empleado, si no desea modificar el dato solamente teclee enter:
Ingresa la edad del empleado, si no desea modificar el dato solamente teclee enter:
Ingresa el peso del empleado, si no desea modificar el dato solamente teclee enter:
Ingresa la altura del empleado, si no desea modificar el dato solamente teclee enter:
Ingresa si cuenta con vacuna covid: 1 o 0 del empleado, si no desea modificar el dato
¿Está seguro de que quiere actualizar los datos del empleado?
si
https://colab.research.google.com/drive/1ZBTucNUgXF0_vn1P8WKDoA27N7MKYYjv#scrollTo=92EauSgCGVjP&printMode=true 7/7