Ejercicios del vídeo 16

  • Este debate tiene 2 respuestas, 3 mensajes y ha sido actualizado por última vez el hace 4 años por rbn.
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Autor
    Entradas
  • #11303

    Laura
    Participante

    Buenas tardes.

    Tenía una duda acerca de los ejercicios para realizar que compartió Juan, un programa para poder introducir una contraseña de al menos 8 caracteres. El código de la solución es el siguiente:

     

    contrasena=input(«Introduzca aquí su contraseña:  «)

    contador=0

     

    for i in range(len(contrasena)):

    if contrasena[i]==» «:

    contador=1

     

    if len(contrasena)<8 or contador>0:

    print(«Contraseña errónea»)

     

    else:

    print(«Contraseña correcta»)

     

    La pregunta que me surge es acerca del texto en negrita, no comprendo cuál es la función de eso. Obviamente si se quita no funciona con el resto del código, pero esperaba que alguien me pudiera explicar la lógica de esos elementos.

    Un saludo!

     

    #11373

    Manuel
    Participante

    Hola, aunque soy novato, voy a intentar ayudarte, el <span style=»box-sizing: border-box; font-weight: bold; color: #444444; font-family: Lato; font-size: 14px;»>if contrasena[i]==» «:         ,</span>lo que hace es ver si hay un espacio en blanco en la cadena que está leyendo el for, y si es así pone contador a 1, como   <span style=»color: #444444; font-family: Lato;»><span style=»font-size: 14px;»>if len(contrasena)<8 or contador>0:     , nos dé una longitud menor de 8 o un contador ==1, nos da contraseña errónea</span></span>

    #11653

    rbn
    Participante

    Hola,

    A ver si te puedo explicar.

    Cada pasada del for convierte i en el carácter que toca y el if dice que si i es un espacio » «,  añada 1 a contador

    Mientras no exista un » » contador mantendrá el su valor =0,  en caso de haber incrementado su valor cumplirá una de las opciones del if que se ejecuta una vez finalizado el bucle, osea ser mayor a 0 (<span style=»color: #444444; font-family: Lato; font-size: 14px;»> </span><span style=»color: #444444; font-family: Lato; font-size: 14px;»>contador>0</span>) y dará por pantalla el texto

    De no haber incrementado contador, al no localizar espacios o ni ser un texto mayor a 8 caracteres, se ejecutara el else y mostrara el texto que indica print

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.