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.

¿Alguien puede arreglarlo para que la función pueda detectar si la entrada tiene al menos un símbolo?

import os
import time

def strong(password, verifier):
  symbols = "! # $ % & ( ) * + , - . / : ; = ? @ [ ] ^ _ ` { | } ~"
  password = str(password)
  if len(password) > 8:
    if len(password) < 15:
        for i in symbols:
          if i in password:
            verifier = 1
            return 'buena contraseña', verifier
        if password.isalnum():
          return 'Tu contraseña solo contiene letras y números'
        elif password.isalpha():
          return 'Tu contraseña solo contiene letras'
        elif password.isnumeric():
          return 'Tu contraseña solo contiene números'
        else:
          return 'sin símbolos'
    else:
      return 'Demasiado largo'
  else:
    return 'Demasiado corto'

Quiero ver si puedo arreglar esta parte porque no estoy seguro de cómo puedo usar esta función para encontrar un carácter especial en la contraseña.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Esta es una función llamada “strong” que toma dos parámetros, “password” y “verifier”. La función primero inicializa una cadena de caracteres especiales llamada “symbols”. Luego verifica si la longitud de la contraseña es mayor a 8 y menor a 15.

    A continuación, la función intenta iterar a través de cada símbolo en la cadena “symbols” y verificar si existe en la contraseña utilizando el método “find”. Sin embargo, el método “find” debería ser llamado en la variable “password”, no en la variable “symbols”.

    Si se encuentra un carácter especial, la función verifica si la contraseña consiste únicamente en caracteres alfanuméricos, caracteres alfabéticos o caracteres numéricos utilizando los métodos “isalnum”, “isalpha” e “isnumeric” respectivamente. Si la contraseña es alfanumérica, el verificador se establece en 1 y la función devuelve “buena contraseña” y el verificador. Si la contraseña es solo alfabética o numérica, la función devuelve un mensaje indicándolo.

    Si no se encuentra ningún carácter especial en la contraseña, la función devuelve “sin símbolos”. Si la longitud de la contraseña es mayor o igual a 15, la función devuelve “Demasiado grande”. Si la longitud de la contraseña es menor o igual a 8, la función devuelve “Demasiado pequeña”.

    En general, esta función tiene como objetivo verificar si una contraseña dada cumple con ciertos criterios para considerarse una contraseña “fuerte”. Sin embargo, tiene algunos problemas con la lógica de verificación de los caracteres especiales que necesitan ser corregidos.

Comments are closed.