Ejercicios: 3Eva_IT2015_T4 Bomberos para incendios forestales
Propuesta de solución en Python:
Tarea: Desarrollar la opcion 3
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IT2015_T4 Bomberos para incendios forestales import numpy as np def grupobombero(registrados, m, local): n = len(registrados) filas = n//m if (n%m>0): filas = filas+1 tabla = np.zeros(shape=(filas,m),dtype = int) # Solo bomberos de provincia local f = 0 c = 0 i = 0 while not(i>=n): cual = registrados[i,1] quien = registrados[i,0] if (cual == local): tabla[f,c] = quien c = c+1 if (c>=m): c = 0 f = f + 1 i = i + 1 # los demas bomberos i = 0 while not(i>=n): cual = registrados[i,1] quien = registrados[i,0] if not(cual == local): tabla[f,c] = quien c = c + 1 if (c>=m): c = 0 f = f + 1 i = i + 1 tabla = np.array(tabla) return(tabla) # 3ra Evaluación I Término 2015 # Tema 4. Bomberos para incendios forestales presentados = [] tabla = np.zeros(shape=(1,2),dtype=int) opcion = -1 i = 1 while not(opcion==6): print('1. Registrar bombero') print('2. Asignar grupos') print('3. Mostrar nombres de un grupo') print('4. Guardar datos') print('5. Leer datos') print('6. Salir') opcion = int(input(' opcion: ')) if (opcion ==1): i = len(presentados) + 1 print('voluntario: ',i) ced = input('cedula: ') nom = input('nombre: ') nbom = int(input('numero bombero: ')) prv = int(input('provincia: ')) while not(prv>=1 and prv<=24): prv = int(input('provincia [1,24]: ')) unbombero = {'cedula':ced, 'nombre': nom, 'nbombero':nbom, 'provincia':prv} presentados.append(unbombero) if (opcion==2): print('asigna grupos.....') m = int(input('cuantos grupos/incendios: ')) local = int(input('ayudar a provincia: ')) n = len(presentados) registrados =[] i = 0 while not(i>=n): nbom = presentados[i]['nbombero'] prv = presentados[i]['provincia'] registrados.append([nbom,prv]) i = i + 1 tabla = grupobombero(registrados, m, local) print(tabla) if (opcion==3): print('....3. Mostrar nombres de un grupo') # Tarea por desarrollar if (opcion==4): narchivo = 'bomberos.txt' archivo = open(narchivo,'w') n = len(presentados) j =0 while not(j>=n): ced = presentados[j]['cedula'] nom = presentados[j]['nombre'] nbom = presentados[j]['nbombero'] prv = presentados[j]['provincia'] linea = ced + ',' +nom + ',' + str(nbom) + ',' +str(prv) +'\n' archivo.write(linea) j = j+1 archivo.close() print('.... registros guardados: ', n) if (opcion == 5): presentados = [] narchivo = 'bomberos.txt' archivo = open(narchivo,'r') linea = archivo.readline() while not(linea==''): linea = linea.strip('\n') partes = linea.split(',') ced = partes[0] nom = partes[1] nbom = int(partes[2]) prv = int(partes[3]) unbombero = {'cedula':ced, 'nombre': nom, 'nbombero':nbom, 'provincia':prv} presentados.append(unbombero) linea = archivo.readline() n = len(presentados) print('.... registros leidos: ', n) archivo.close() if (opcion==6): print(' Saliendo del programa ....') print(' ccpg1001 Fundamentos de computación .....')