我要一个识别号,例如(6373383-D)和一个pin。 我有这样一个嵌套列表:
cliente = [[0, "Carlos", "Perez Rodriguez", "123342344-D", 4, "ES6621000418401234567891", 1234, 3000, "No"],
[1, "Ana", "Martin Perez", "19786444-E", 7, "ES6000491500051234567892", 6789, 8000, "No"],
[2, "Maria", "Sanchez Agudo", "67893456-A", 2, "ES9420805801101234567891", 1111, 10000, "No"],
[3, "Paco", "Sainz Sanchez", "56782341-B", 2, "ES9000246912501234567891", 9876, 2345, "No"],
[4, "Marcos", "Calvo Rodriguez", "56783452-D", 9, "ES7100302053091234567895", 3456, 8000, "No"]]
例如,如果他把123342344-D和1234放在PIN中,我必须显示该列表的值。你知道吗
我的代码是:
#coding=utf-8
cliente=[["Carlos", "Perez Rodriguez", "123342344-D", 4, "ES6621000418401234567891", 1234, 3000, "No"], ["Ana", "Martin Perez", "19786444-E", 7, "ES6000491500051234567892", 6789, 8000, "No"], ["Maria", "Sanchez Agudo", "67893456-A", 2, "ES9420805801101234567891", 1111, 10000, "No"], ["Paco", "Sainz Sanchez", "56782341-B", 2, "ES9000246912501234567891", 9876, 2345, "No"], ["Marcos", "Calvo Rodriguez", "56783452-D", 9, "ES7100302053091234567895", 3456, 8000, "No"] ]
def clientes():
respuesta=True
while respuesta:
print ("Ha elegido la opcion clientes, por favor, identifiquese usando DNI y PIN: ")
dni = input("DNI: ")
pin = int(input("PIN: "))
if dni in (dni[2] for dni in cliente):
if pin in (pin[5] for pin in cliente):
for r in cliente:
if dni == cliente[r][3] and pin == cliente[r][6]:
print("*-----------------------------------------------------------------*\n")
print("\nNombre: "+ cliente[r][0])
print("\nApellidos: "+ cliente[r][1])
print("\nDNI: "+ cliente[r][2])
print("\nAntiguedad: "+ cliente[r][3])
print("\nCuenta IBAN: "+ cliente[r][4])
print("\nPIN: "+ cliente[r][5])
print("\nBalance: "+ cliente[r][6])
print("\nTiene oferta: "+ cliente[r][7])
print("\n*-----------------------------------------------------------------*")
else:
print("El cliente no está en la lista")
我想要类似的东西,我们从来没有使用动态的,我是不允许的
可以编写动态过滤函数:
结果:
考虑到
cliente
的任何子列表的第四项将包含标识号,而子列表的第七项包含pin,您可以这样打印包含这些项的子列表:或者,如果子列表没有排序,请尝试:
你可以做:
相关问题 更多 >
编程相关推荐