Python

Iniciado por Keops_F, 18 Octubre 2021, 18:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Keops_F

Hola buenas tardes! soy nuevo en esto de python y me piden este programa, por mas que le doy vueltas no consigo el total de lo que se me pide solo partes, me podeis ayudar por favor, muchas gracias

Realiza un programa que realice las siguientes tareas:

Paso 1) solicite al usuario una contraseña y la guarde en una variable
Paso 2) pida al usuario introducir la contraseña para loguearse
si la contraseña es correcta mostramos "Login correcto"
si la contraseña no es correcta se le tendrá que mostrar un mensaje de "Login fallido. Intento 1", donde 1 será una variable contador que irá incrementandose hasta llegar a 5. En ese punto reiniciamos el programa y volveremos al Paso 1

Danielㅤ

Hola, muéstranos en tu próxima repuesta el avance del código que llevas creado hasta ahora y dinos específicamente que es lo que no entendés.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

WHK

Hola Keops_F, recuerda que en este lugar se enseña y ayuda pero no se hacen tareas. Saludos.

Keops_F

#3
Hola! no necesito que me la hagan sino que me expliquen como llegar a lo que se me pide, el programa lo tengo echo si solo fuese una parte pero al intentarlo en conjunto no me funciona


Cita de: Danielㅤ en 18 Octubre 2021, 19:59 PM
Hola, muéstranos en tu próxima repuesta el avance del código que llevas creado hasta ahora y dinos específicamente que es lo que no entendés.


Saludos

Código (python) [Seleccionar]
print("Bienvenido al sistema")
Contraseñas = []

while(True):
   key = input("Crea una contraseña, por favor: ")
   Contraseñas.append(key)
   Log = input("Ingresa tu contraseña: ")
   if Log == key:
       print("Login correcto.")
       break
   else:
       Fallos = 1
       while Fallos < 5:
           if Log != key:
               veces = print("Login fallido. Intento 1. ")
               intentos = input("Ingresa nuevamente tu contraseña: ")
               Fallos += 1
           elif key == Log:
               print("Login correcto, gracias.")
               break
           else:
               intentos != key
               veces = print(f"Login fallido. Intento {Fallos}. ")


MOD: Etiqueta GeSHi. No hacer doble post.

MCKSys Argentina

#4
Hola!

Fíjate los cambios que he  hecho:

Código (python) [Seleccionar]

    print("Bienvenido al sistema")
    Contrasenias = [] # No es buena idea usar caracteres que no esten en el rango de los ASCII para variables
     
    while(True):
        key = input("Crea una contraseña, por favor: ")
        Contrasenias.append(key)
        Log = input("Ingresa tu contraseña: ")
        if Log == key:
            print("Login correcto.")
            break
        else:
            Fallos = 1
            while Fallos < 5:
                if Log != key:
                    print(f"Login fallido. Intento {Fallos}. ")
                    Log = input("Ingresa nuevamente tu contraseña: ")
                    Fallos += 1
                else:
                    print("Login correcto, gracias.")
                    break


Saludos!

EDIT: Debes notar que al errar 5 veces, reinicias el bucle, pero no muestras el mensaje de que la contraseña ingresada está errada por 5ta vez. Para eso, vas a tener que cambiar la secuencia de evaluación/visualización.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Keops_F

gracias se me había olvidado lo de la ñ

Danielㅤ

#6
No es recomendable y de hecho es una mala práctica el usar la letra ñ en el nombre de las variables, además que seguramente el intérprete no lo aceptará y producirá un error tu código.
Podes usar dos formas, una seria como bien te hizo el ejemplo el compañero MCKSys Argentina y otra forma sería usar de nombre un sinónimo como por ejemplo claves.

Código (python) [Seleccionar]
claves = []


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Keops_F

#7
al final era mas sencillo de lo que pensaba, aunque desconocia que se podian unir dos bucles y asi me quedo.
Código (python) [Seleccionar]

claves = []
while True:
   key = input("Crea una contraseña de usuario: ")
   claves.append(key)
   for i in range(5):
       login = input("Ingrese su contraseña de usuario: ")
       if login == key:
           print("Login correcto, gracias")
           break
       else:
           print("Login fallido. Intento","(",i+1,"/5)")
   if login == key:
       break


gracias a los que me dieron ideas, mas que llamarme la atención, hasta la proxima