0% encontró este documento útil (0 votos)
6 vistas2 páginas

Main

El documento contiene un script en Python que carga datos de un archivo, verifica su conformidad con límites establecidos, calcula estadísticas como media y desviación estándar, y evalúa probabilidades relacionadas con valores de listeria. Se identifican y corrigen datos fuera de un rango específico, y se determina si el porcentaje de datos no conformes es aceptable. Finalmente, se imprimen resultados estadísticos y valores que no cumplen con los límites establecidos.

Cargado por

Catalina Bello
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas2 páginas

Main

El documento contiene un script en Python que carga datos de un archivo, verifica su conformidad con límites establecidos, calcula estadísticas como media y desviación estándar, y evalúa probabilidades relacionadas con valores de listeria. Se identifican y corrigen datos fuera de un rango específico, y se determina si el porcentaje de datos no conformes es aceptable. Finalmente, se imprimen resultados estadísticos y valores que no cumplen con los límites establecidos.

Cargado por

Catalina Bello
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

DATOS = []

DATOS_FUERA_DE_LIMITE = []

RUTA_RECUENTO = "C:/Users/root/Desktop/SOLEMNE2TALLERPROGRAMACION/[Link]"
LIMITE_INFERIOR = 0
LIMITE_SUPERIOR = 0

media = 0
varianza = 0
suma_diferencias_cuadrado = 0
desviacion_estandar = 0
prob_legal_a_superior = 0
prob_inferior_a_legal = 0

def cargar_datos(ruta):
with open(ruta, "r") as archivo:
for linea in [Link]()[1:]:
linea = [Link]()
if linea:
[Link](int(linea))
return DATOS

def CheckearDatos(LISTA, SinLimite = False):


if SinLimite == True:
for valor in LISTA:
if 100 >= valor:
print(f"{valor} -> en conformidad.")
else:
print(f"{valor} -> no conforme!")
elif SinLimite == False:
for valor in LISTA:
if 0 <= valor <= LIMITE_SUPERIOR:
print(f"{valor} CFU/g -> en conformidad.")
else:
print(f"{valor} CFU/g -> no conforme!")
DATOS_FUERA_DE_LIMITE.append(valor)

def normal(x, mu, sigma):


pi = 3.14
e = 2.72
coeficiente = 1 / (sigma * (2*pi)**0.5)
exponente = -((x-mu)**2/(2*sigma**2))
return coeficiente*(e**exponente)

def probabilidad_entre(a,b, mu, sigma, pasos=1000):


ancho=(b-a)/pasos
suma = 0
for i in range(pasos):
x = a + i * ancho
suma += normal(x, mu, sigma) * ancho
return suma

cargar_datos(RUTA_RECUENTO)

print("-"*70)
CheckearDatos(DATOS, True)
print("-"*70)

def RepararDatos(LISTA):
for valor in LISTA:
if valor == 60000:
indice = [Link](60000)
LISTA[indice] = int(60)
RepararDatos(DATOS)

media = sum(DATOS) / len(DATOS)


def Desv_Estand(LIST):
suma_diferencias_cuadrado = sum((x - media) ** 2 for x in LIST)
varianza = suma_diferencias_cuadrado / len(LIST)
desviacion_estandar_C = varianza ** 0.5
return desviacion_estandar_C

desviacion_estandar = Desv_Estand(DATOS)
LIMITE_INFERIOR = media - (1.96 * desviacion_estandar)/(len(DATOS))**0.5
LIMITE_SUPERIOR = media + (1.96 * desviacion_estandar)/(len(DATOS))**0.5

print("-"*70)
CheckearDatos(DATOS, False)
print("-"*70)

porcentaje_fuera_de_limite = (len(DATOS_FUERA_DE_LIMITE) / len(DATOS)) * 100


print(f"Porcentaje de datos fuera de los límites: {porcentaje_fuera_de_limite}%")

if porcentaje_fuera_de_limite <= 5:
print("Todo está conforme (menos del 5% de datos fuera de límites).")
else:
print("No conforme (más del 5% de datos fuera de límites).")

print("-"*70)

if 100 < LIMITE_SUPERIOR:


prob_legal_a_superior = probabilidad_entre(100, LIMITE_SUPERIOR, media, desviacion_estandar)
print(f"Probabilidad de que los valores de listeria superen el límite legal ({100} CFU/g) pero no superen el límite superior ({
LIMITE_SUPERIOR:.2f}/ CFU/g): {prob_legal_a_superior:.2f}")

print("-"*70)

if LIMITE_INFERIOR < 100:


prob_inferior_a_legal = probabilidad_entre(LIMITE_INFERIOR, 100, media, desviacion_estandar)
print(f"Probabilidad de que los valores de listeria estén entre el límite inferior ({LIMITE_INFERIOR:.2f}CFU/g) y el límite legal ({100} CFU
/g): {prob_inferior_a_legal:.2f}")

print("-"*70)
print(f"Promedio: {media}")
print(f"Desviación estándar: {desviacion_estandar}")
print(f"Límite Superior: {LIMITE_SUPERIOR}")
print(f"Límite Inferior: {LIMITE_INFERIOR}")
print("-"*70)
print("Valores fuera de los límites de conformidad:")
print(DATOS_FUERA_DE_LIMITE)
print("-"*70)

También podría gustarte