[SOLUCIONADO] Python-Cómo cambiar palabra almaceneada a minúscula?

Iniciado por Biodude9456, 1 Marzo 2016, 20:42 PM

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

Biodude9456

Estoy experimentando de poco en poco en python y pues he querido transformar una palabra que el usuario inserta a todo minúscula, creo que tengo que usar .lower pero no consigo hacer que funcione, el código;
Código (python) [Seleccionar]
def contra1():
password = raw_input("Contrasena:  ")
if password=="allahuakbar":
print("Has iniciado sesion como administrador.")
else:
contra1()

def usuario():
sesion = raw_input("Nombre de usuario:  ")
sesion.lower()
if sesion=="invitado":
print("Has iniciado sesion como invitado.")
elif sesion=="hakuna matata":
contra1()
else:
usuario()

#Inicio
usuario()


quiero que la variable sesion se cambie a minúscula, e igul con la password, pero tiene número asi que no se cómo hacerlo :(

MCKSys Argentina

#1
Sacando la info de aquí: https://docs.python.org/2/library/string.html

Código (python) [Seleccionar]

def contra1():
    password = raw_input("Contrasena:  ")
    if password.lower()=="allahuakbar":
        print("Has iniciado sesion como administrador.")
    else:
        contra1()

def usuario():
    sesion = raw_input("Nombre de usuario:  ")
    #sesion.lower() #esto *devuelve* el string en minusculas, pero no lo estas asignando a nada
    if sesion.lower()=="invitado":
        print("Has iniciado sesion como invitado.")
    elif sesion.lower()=="hakuna matata":
        contra1()
    else:
        usuario()

#Inicio
usuario()


Aunque podrias mejorar ese codigo...

Saludos!

EDIT: Podrias hacer algo como lo que sigue, pero tendrias el mismo bucle infinito que antes:

Código (python) [Seleccionar]

def login():
    sesion = raw_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()=="hakuna matata":
            seguir = False
            seguir2 = True
            while seguir2: #bucle infinito hasta que password == "allahuakbar". OJO!!!!!!!
                password = raw_input("Contrasena:  ")
                if password.lower()=="allahuakbar":
                    print("Has iniciado sesion como administrador.")
                    seguir2 = False # Termina el while interno

#Inicio
login()
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


madoko

otra opcion es
sesionminuscula=sesion.lower()
en tu linea 10

necesitas almacenar el dato

tincopasan

coincido con madoko, ahora no entiendo dos cosas:
1)¿por qué me usas la sintaxis de python 2.x y 3.x usa la que corresponda a cada uno, por ejemplo el raw_input (2.x) y el print con parentesis es 3.x, es mejor no usarlas en 2.x
2)¿para qué usas recursividad? si puede evitarse facilmente con un while 

Biodude9456

Soy nuevo, no se a qué te refieres, yo voy aprendiendo con lo tutoriales que encuentro jajaja, por cierto, gracias por las respuestas.