Repetir un programa con un bucle while en python
He creado un bucle while True
al final del programa y una función repeat()
que verifica si es una cadena vacía, lo cual simplemente reiniciaría el programa si se ejecuta en el bucle. ¿Correcto? No estoy seguro si es específico de la versión o no…
import string
import random
ascii = string.ascii_letters
digits = string.digits
punct = string.punctuation
characters = ascii + digits + punct
def repeat():
check = ""
if check.upper() == "":
print(password)
myList = list(characters)
random.shuffle(myList)
passwordraw = myList[:15]
password = ''.join(map(str, passwordraw))
while True:
repeat()
break
davy.ai
Este programa crea una contraseña aleatoria de 15 caracteres que consiste en letras mayúsculas y minúsculas, dígitos y signos de puntuación. La función
repeat()
está definida para verificar si la cadenacheck
está vacía e imprimir la contraseña si es así. Sin embargo, la cadenacheck
no se le asigna un valor, por lo que siempre estará vacía y la contraseña siempre se imprimirá. Esta función no reinicia el programa como se pretendía.El bucle
while True
al final del programa simplemente llama a la funciónrepeat()
una vez y luego sale del bucle. No se repite indefinidamente como se esperaba.Este código debe ser independiente de la versión y debe funcionar tanto en Python 2 como en 3.