es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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
Tags:  , , , ,

Answer

  1. Avatar for 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 cadena check está vacía e imprimir la contraseña si es así. Sin embargo, la cadena check 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ón repeat() 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.

Comments are closed.