Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.6 kB
1
Indexable
Never
#%%
"""
Ejercicio 151: Contraseña aleatoria de dos palabras

Aunque generar una contraseña seleccionando caracteres aleatorios generalmente da una 
contraseña relativamente segura, también suele dar una contraseña difícil de memorizar.
Como alternativa, algunos sistemas construyen una contraseña tomando dos palabras en inglés
y concatenándolas. Aunque esta contraseña no es tan segura, es mucho más fácil de memorizar.
Escriba un programa que lea un archivo que contenga una lista de palabras, seleccione al 
azar dos de ellas, y las concatene para producir una nueva contraseña. Al producir la
contraseña asegúrese de que la longitud total esté entre 8 y 10 caracteres, y que cada
palabra utilizada tenga al menos tres letras. Escriba en mayúsculas cada palabra de la 
contraseña para que el usuario pueda ver fácilmente dónde termina una palabra y empieza la 
siguiente. Muestre la contraseña para el usuario.
"""

from random import randrange  
ARCHIVO_PALABRAS = "../Datos/palabras.txt"
PALABRAS = []
inf = open(ARCHIVO_PALABRAS, "r")
for linea in inf: 
    linea = linea.rstrip() 
    if len(linea) >= 3 and len(linea) <= 7: 
        PALABRAS.append(linea)  
inf.close()
primera = PALABRAS[randrange(0, len(PALABRAS))]
primera = primera.capitalize()
contraseña = primera 
while len(contraseña) < 8 or len(contraseña) > 10: 
    segunda = PALABRAS[randrange(0, len (PALABRAS))] 
    segunda = segunda.capitalize() 
    contraseña = primera + segunda 
print("La contraseña aleatoria es:", contraseña)