16-03-2021, 07:27 PM
hola buenas tardes me piden:
Realice el informe (impresion en pantalla) de analisis realizados por cada profesional. Este informe debe tener el siguiente formato:
Profesional : 1
Analisis 1 : 252
Analisis 2 : 12
Analisis 3 : 52
....
Total de Analisis realizados 1525
Profesional : 2 .....
la estructura es la siguiente:
Descripción de la Estructura: Son los datos de los análisis de laboratorio hechos a una serie de productos
Codigo : Código de producto analizado
Nombre : Nombre del producto analizado
Analisis: Es el análisis realizado (codificados con un número del 1 al 8)
Legajo : Es el legajo del profesional que realizó el análisis
Valor: el valor que dio como resultado el análisis
Umbral: el valor máximo esperado para ese análisis
y esto es lo que yo hice pero no resuelve lo que me piden si me pueden orientar :
Realice el informe (impresion en pantalla) de analisis realizados por cada profesional. Este informe debe tener el siguiente formato:
Profesional : 1
Analisis 1 : 252
Analisis 2 : 12
Analisis 3 : 52
....
Total de Analisis realizados 1525
Profesional : 2 .....
la estructura es la siguiente:
Descripción de la Estructura: Son los datos de los análisis de laboratorio hechos a una serie de productos
Codigo : Código de producto analizado
Nombre : Nombre del producto analizado
Analisis: Es el análisis realizado (codificados con un número del 1 al 8)
Legajo : Es el legajo del profesional que realizó el análisis
Valor: el valor que dio como resultado el análisis
Umbral: el valor máximo esperado para ese análisis
y esto es lo que yo hice pero no resuelve lo que me piden si me pueden orientar :
Código:
from pyrecord import Record
import numpy as np
import random
# Estructura
Analisis = Record.create_type("Analisis","codigo","nombre", "analisis","legajo","valor","umbral",
codigo = 0,nombre = '',analisis = 0,legajo = 0, valor = 0, umbral = 0)
# Procedimientos y Funciones Accesorias
def imprimir_vector(vector, elementos):
print('{0:>4s} {1:10s} {2:25s} {3:>6s} {4:>6s} {5:>12s} {6:>10s}'.format("#","Codigo","Nombre", "Analisis","Legajo","Valor","Umbral"))
print(' ----------------------------------------------------------------------------')
for i in range(elementos):
print('{0:4d} {1:10d} {2:25s} {3:6d} {4:6d} {5:12d} {6:10d}'.format(i + 1, vector[i].codigo,vector[i].nombre,vector[i].analisis,
vector[i].legajo,vector[i].valor,vector[i].umbral))
#Generar datos aleatorios
def cargar_datos(vector,cantidad):
registro = 0
analisis = [8,5,6,4,1,3,2,7]
for i in range(cantidad):
codigo = int(random.random() * 100000000) + 75100000000
nombre = "Producto " + str(codigo)
for p in range(random.randint(3,8)):
vector[registro] = Analisis()
vector[registro].codigo = codigo
vector[registro].nombre = nombre
vector[registro].analisis = analisis[p]
vector[registro].legajo = random.randint(1,10)
vector[registro].valor = random.randint(1,150) * analisis[p]
vector[registro].umbral = random.randint(1,150) * analisis[p]
registro += 1
return registro
# ------ INSERTAR AQUI SU RESOLUCION --------
def informe(vector,cantidad_de_registros):
i = 0
while (i < cantidad_de_registros):
total_legajo = 0
analisis = vector[i].analisis
legajo = vector[i].legajo
valor = vector[i].valor
cantidad_legajo = 0
while (i < cantidad_de_registros and vector[i].legajo == legajo and vector[i].analisis == analisis and vector[i].valor == valor):
cantidad_legajo += 1
total_legajo += cantidad_legajo
i += 1
print("- Profesional : ",legajo,"|analisis:",analisis,"|valor: ",valor, "|cantidad :",cantidad_legajo)
print("|Total de analisis realizados:",total_legajo)
# -------------------------------------------
# Procedimiento Principal
def main():
max_elementos = 1000
control = np.empty([max_elementos,], dtype=Analisis)
cant_real = cargar_datos(control,30)
imprimir_vector(control,10)
# ------ INSERTAR AQUI LOS LLAMADOS A SU RESOLUCION ---
informe(control,cant_real)
# -----------------------------------------------------
if __name__ == "__main__":
main()