Python - Busqueda dentro de una lista

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

Busqueda dentro de una lista

Publicado por Camilo (3 intervenciones) el 11/09/2020 03:59:00
Buenas, tengo la siguiente línea de código:
1
if nombre not in directorio:
Pero el programa nunca encuentra la variable nombre dentro de la lista es decir, al ingresar un nombre igual a otro ingresado anteriormente, sigue ingresando al if, y no se por qué, cabe aclara que nombre se guarda dentro de una lista dentro de la lista directorio.
Aquí el código completo:
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
directorio = []
salir = False
while not salir:
 
    nombre = input()
 
    if nombre not in directorio:
 
        print('El usuario no esta registrado')
 
        print('Digite departamento')
        departamento = input()
        print('Digite numero telefonico')
        numTel = int(input())
        print('Digite ext')
        numEx = int(input())
 
        directorio.append([nombre, departamento, numTel, numEx])
    else:
        print('El usuario ya esta registrado')
 
    respuesta = input("¿Quiere adicionar a alguien mas? [S/N]")
 
    if respuesta == "N":
        salir = True
 
print(directorio)

De antemano gracias.
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

Busqueda dentro de una lista

Publicado por yoyyo (1 intervención) el 11/09/2020 20:36:38
hola:
en estos casos te conviene usar diccionarios,algo así

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
directorio = {}
 
def datos(usuario):
    print('El usuario no esta registrado')
    print('Digite departamento')
    departamento = input(">>>")
    print('Digite numero telefonico')
    numTel = int(input(">>"))
    print('Digite ext')
    numEx = int(input(">>>"))
    directorio[usuario]= [departamento,numTel,numEx]
 
 
while True:
    nombre = input("Ingrese Usuario: ")
    if nombre in directorio:
        print('El usuario ya esta registrado')
    else:
        datos(nombre)
 
    respuesta = input("¿Quiere adicionar a alguien mas? [S/N]").lower()
    if respuesta == "n":
        break
 
 
print(directorio)
:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar