Open Ara3210 opened 10 months ago
Andre me falta agregar los comentarios , pero esos los tengo en mi cuaderno , dame un chance
def clasificacion_complejidad(puntos): if puntos <= 15: return "Debil" elif 15 < puntos <= 20: return "Moderado" elif 21 <= puntos <= 35: return "Bueno" elif 36 <= puntos <= 99: return "Excelente" else: return "Indecifrable"
def calcular_complejidad(mensaje): complejidad = len(mensaje)
# Verificar si hay minúsculas en el mensaje, se utiliza any para ver si por lo menos hay una
if any(c.islower() for c in mensaje):
complejidad += 1
# Se suma un punto por cada mayúscula en el mensaje
complejidad += sum(1 for c in mensaje if c.isupper())
# Contar los caracteres especiales y sumar puntos según tenga 1 o mas de 1 caracter especial
caracteres_especiales = "!@#$%^&*()-_+=[]{}|;:'\",.<>/?"
cantidad_caracteres_especiales = sum(1 for c in mensaje if c in caracteres_especiales)
if cantidad_caracteres_especiales == 1:
complejidad += 3
elif cantidad_caracteres_especiales > 1:
complejidad += 2 * cantidad_caracteres_especiales
# Verificar si hay dos números consecutivos, letras repetidas seguidas o más de 1 espacio en blanco consecutivo
for i in range(len(mensaje)-1):
if mensaje[i].isdigit() and mensaje[i+1].isdigit():
complejidad -= 5
break
elif mensaje[i].isalpha() and mensaje[i] == mensaje[i+1]:
complejidad -= 5
break
elif mensaje[i].isspace() and mensaje[i+1].isspace():
complejidad -= 5
break
return complejidad
with open("archivo.txt", "r") as archivo: mensaje = archivo.read()
puntos_de_complejidad = calcular_complejidad(mensaje) nivel_complejidad = clasificar_nivel_complejidad(puntos_de_complejidad)
print(f"La complejidad del mensaje es: {puntos_de_complejidad}") print(f"Nivel de complejidad: {nivel_complejidad}")
aca esta la parte de la clasificacion y el calculo de la complejidad
def cifrado(msj,n): msjf = '' for i in msj: m = abc.index(i)
def cifradoporarchivo(n): archivo =open('mensajes.txt') for linea in archivo: msj1 = cifrado(linea.rstrip(),n) msj2 = cifrado(msj1,4) print(msj2) guardarCifrado(msj2) archivo.close()
def guardarCifrado(msj): a = "esto es una prueba" archivo = open('mensajes_cifrados.txt',"a",) msj = msj+"|"+a+"|puntos de seguridad|cantidad de traslacion| primera codificacion|digito de la cedula| \n" archivo.writelines(msj) archivo.close()
abc ='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%&*,.?¿, ' x = -1 msj = '' n = 0 while x != '0': print('Seleccione la accion a realizar:') print('1. ingresar mensaje mnaualmente.') print('2. leer mensaje de archivo.') print('3. cifrar mensaje.') print('4. descifrar mensaje.') print('5. exportar mensaje.') print('0. salir.') x = input() print(x,type(x)) if x == '1': print('ingrese el mensaje') msj = input() elif x == '2': print('Ingrese un numero para el cifrado') n = input() cifradoporarchivo(n) elif x == '3': print('Ingrese un numero para el cifrado') n = input() msj1 = cifrado(msj,n) print(msj1) msj2 = cifrado(msj1,4) print(msj2, type(msj2)) elif x == '4': print(x) elif x == '5': print(x) else: print('Ingrese una opcion valida')
print('Hasta luego')