Python - Listas ayuda

Iniciado por Biodude9456, 6 Marzo 2016, 00:11 AM

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

Biodude9456

Tengo este código;
Código (python) [Seleccionar]
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from time import sleep
administradores = ["patata","justin"]
contraseñas = ["777","charizard"]

start_admin = False
def login():
   sesion=input("Nombre de usuario:  ")
   seguir = True
   while seguir:
       if sesion.lower()=="invitado":
           print("Has iniciado sesion como invitado.")
           seguir = False # Termina el while externo
       elif sesion.lower() in administradores:
           seguir = False
           seguir2 = True
           while seguir2:
               password = input("Contraseña:  ")
               if password in contraseñas:
                   print("Has iniciado sesion como administrador.")
                   print()
                   seguir2 = False
                   global start_admin
                   start_admin = True
                   sleep(0.5)
                   continue

Y me gustaría saber cómo podría identificar la posición en la que esta el usuario que el usuario escriba (valga la redundancia), para que luego sepa de que posición tengo que cojer la contraseña, no se si me explico, un saludo!   :P

Biodude9456

Me respondo a mi mismo(zoi ezpezial).
Código (python) [Seleccionar]
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from time import sleep
administradores = ["patata","justin"]
contraseñas = ["777","charizard"]

start_admin = False
def login():
   sesion = input("Nombre de usuario:  ")
   seguir = True
   while seguir:
       if sesion.lower()=="invitado":
           print("Has iniciado sesion como invitado.")
           seguir = False # Termina el while externo
       elif sesion.lower() in administradores:
           seguir = False
           seguir2 = True
           position_user = administradores.index(sesion)
           while seguir2:
               password = input("Contraseña:  ")
               if password==contraseñas[position_user]:
                   print("Has iniciado sesion como administrador.")
                   print()
                   seguir2 = False # Termina el while interno
                   global start_admin
                   start_admin = True
                   sleep(0.5)
                   continue

Así lo conseguí :)

tincopasan

me parece muy bien que lo hayas resuelto! ahora ten presente que index devuelve la primera aparición en la listas, es decir que hay que tener cuidado si hay dos administradores con el mismo nombre por ejemplo.