Python - Validación de usuario y contraseña

 
Vista:

Validación de usuario y contraseña

Publicado por Antonio (1 intervención) el 27/07/2018 14:01:35
Hola,
Estoy haciendo un programa y al principio del mismo quiero validar el usario y la contraseña con los datos que tengo un CSV.
No entiendo porque me pide 3 veces el usuario hasta dármelo por válido. Lo que quiero es que me de tres oportunidades antes de sacarme del sistema si pongo el usuario de forma incorrecta pero me lo pide 3 veces aunque lo ponga bien.
Alguien me puede ayudar a encontrar el error?

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import csv
 
def pass_check():
    u_name = False  ####################added to check if username found
    pw_check = False
    file_handle = open("password.csv")
    password_check = csv.reader(file_handle)
    username = input("Enter username: ")
    counter = 2
 
    for x in password_check:
        while x != username and counter > 0:
            counter -= 1
            username = input("Incorrect username, please put the right username: ")
        if username == x[0]:
            print("Valid username.")
            u_name = True  #################################
            password = input("Enter password: ")
            counter = 2
            while counter > 0:
                if password == x[1]:
                    print("Access Granted!")
                    pw_check = True
                    return "yes"
                    break
                else:
                    print("Incorrect password, please try again")
                    password = input("Enter password: ")
                    pw_check = False
                counter -= 1
            break  ##################
        else:
            u_name = False  #################################
            # print("Invalid username")
 
    if u_name == False:  ################################
        print("Username not found")  ############################
    #    return "no"
    if u_name == True and pw_check == False:
        print("Password incorrect")
    #    return "no"
 
    file_handle.close()
 
pass_check()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Validación de usuario y contraseña

Publicado por pepe (3 intervenciones) el 30/08/2018 21:01:51
Hola, la primera vez te lo pide en la línea 8.
Las dos veces siguientes te lo pide en el bucle "while" de la línea 12, hasta que "counter" llega a cero.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar