Python - If anidado no me responde

 
Vista:
Imágen de perfil de Reynaldo
Val: 9
Ha disminuido su posición en 11 puestos en Python (en relación al último mes)
Gráfica de Python

If anidado no me responde

Publicado por Reynaldo (1 intervención) el 14/10/2020 23:54:47
Buenas tardes a todos.

Estoy empesando a aprender el lenjuage python y me he pegado un tropeson con el if anidado.

El ejercicio se trata de lo siguiente:

Tenngo una bd con una tabla que se llama "clients"
compuesta por "id_user " "name_user" "user pass"

Lo que intento hacer el logearme a la bd de la siguiente manera:

Le pido que seleccione una opcion las cuales pueden ser del 1 al 3
sea cual sea la seleccion, debe posteriormente pedirme el usuario una vez introducido al dar enter recupero el usuario de la bd y lo comparo con el que se ha introducido, si son iguales hago el mismo proceso con campo pass
y es aqui en donde no me funciona el if.

no se como hacerle, agradecería de su ayuda...les comparto el codigo para que me ayuden a ezaminarlo a fondo.


gracias.








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
46
47
48
49
50
51
52
import sqlite3
 
counter =0
user_input = None
 
conexion = sqlite3.connect('DataBase.db')
cursor = conexion.cursor()
 
def recover_user(u):
    cursor.execute("SELECT user FROM clients WHERE user = '%s'" % u)
    data = cursor.fetchone()
    return data
 
def recover_password(p):
    cursor.execute("SELECT pass FROM clients WHERE pass = '%s'" % p)
    data = cursor.fetchone()
    return data
 
def recover_iduser(u):
    cursor.execute("SELECT id_user FROM clients WHERE user = '%s'" % u)
    data = cursor.fetchone()
    return data
 
def recover_balance():
    id_user = recover_iduser(user_input)
    cursor.execute("SELECT amount FROM accounts WHERE id_user = '%s'" % id_user)
    data = cursor.fetchone()
    return data
 
def start_app():
    print("¡Welcome to A T M Nindiri!")
    print("Select one option.")
    print("(1) para consultar saldo. "
          "(2) para retirar. "
          "(3) para depositar ")
    option = int(input("your option here :"))
    if option == 1:
        user_input = str(input("Please input your user here : "))
        user_recoverded = recover_user(user_input)
        # print(user_recoverd)
        if user_recoverded == user_input:
            password_input = input("Please input your password here :")
        else:
            print("NO SON IGUALES.")
    elif option == 2:
        user_input = input("Please input your user here : ")
    elif option == 3:
        user_input = input("Please input your user here : ")
    else:
        print("Invalid option")
 
start_app()
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