elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Nombre de usuario y contraseña.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Nombre de usuario y contraseña.  (Leído 23,162 veces)
JCDedalus

Desconectado Desconectado

Mensajes: 10


Todo lo que es comprendido está bien.


Ver Perfil
[Python] Nombre de usuario y contraseña.
« en: 13 Octubre 2010, 22:12 pm »

Estoy comenzando a programar, y decidí iniciarme con Python. Se me pasó por la cabeza la idea de hacer un programa capaz de solicitar un nombre de usuario y una contraseña y reconocer si estos son correspondientes o no.

Logré hacer lo siguiente:
Citar
name = raw_input('Ingrese su nombre de usuario: ')
def usrpsw(name):
      if name != 'Edward' and name != 'Antonio':
        print 'Nombre de usuario incorrecto'
      else:
        if name == 'Edward':
           pasw_edward = raw_input('Ingrese su contraseña: ')
           if pasw_edward != '12345':
              print 'Contraseña incorrecta'
          else:
              print 'Bienvenido a la sesión'
        elif name == 'Antonio':
            pasw_antonio = raw_input('Ingrese su contraseña: ')
            if pasw_antonio != '54321':
                print 'Contraseña incorrecta'
            else:
                print 'Bienvenido a la sesión'
usrpsw(name)
Mi problema es que no encuentro manera de hacer que, en caso de ingresar un nombre de usuario o contraseña incorrecta, el programa vuelva al principio y los pida nuevamente. He tratado usando "return" pero no me sale. Si me pueden orientar se agradece mucho, Saludos!


En línea

Todo lo que es comprendido está bien.
"We.....Are.....One"
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #1 en: 13 Octubre 2010, 22:17 pm »

Mete todo eso dentro de un bucle while, si el usuario ingresa todo bien, tiras un break para cortar todo :D

Por cierto, dos cosas:
La primera comparación no va a funcionar, porque comparas que el nombre sea Edward, y que sea Antonio, y te llamas de una manera OR de otra ;)
La segunda es que veo que te mataste pintando el código, pero si pones el código entre etiquetas geshi se pinta solo :P

[code=python]print('Hola Mundo')[/code]
Código
  1. print('Hola Mundo')

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
JCDedalus

Desconectado Desconectado

Mensajes: 10


Todo lo que es comprendido está bien.


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #2 en: 13 Octubre 2010, 23:48 pm »

Gracias por lo del "break" no conozco todas los estamentos del lenguaje...de hecho no conocía break pero por ahí googleando encontre algunas cosas... las leere y tratare de hacerlo...Aunque por ahora no tengo ni idea de qué significa "tirarle un break"  :rolleyes:
Con respecto a lo otro... ;D
El código sí funciona, porque cuando:
Código
  1. if name != 'Edward' and name != 'Antonio':
  2.  print 'Nombre de usuario incorrecto'
lo que estoy haciendo es decir(o intentando decir  :silbar:)que si el nombre no es Edward, and no es Antonio...print 'Nombre de usuario incorrecto'.

y lo segundo...jaja sí, me mate pintando el código...No sabía como insertar el código en el lenguaje especifico. Lo pinté para seguir la norma, error de novato. Ahora aprendí. Saludos!  :D
En línea

Todo lo que es comprendido está bien.
"We.....Are.....One"
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #3 en: 13 Octubre 2010, 23:50 pm »

Es verdad! es error mío por haber visto el code rapidamente, esta bien el AND :P
Lo de tirarle un break es simplemente decir que cuando se cumpla la condición, ejecutes un break :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
JCDedalus

Desconectado Desconectado

Mensajes: 10


Todo lo que es comprendido está bien.


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #4 en: 14 Octubre 2010, 00:17 am »

Finalmente logre hacer lo que quería, gracias por tu ayuda Novlucker. No posteo la solución para que otros lo intenten. Como pista diré que definir una función no servía para resolver el problema.  :D Saludos!
En línea

Todo lo que es comprendido está bien.
"We.....Are.....One"
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #5 en: 14 Octubre 2010, 01:06 am »

Está curiosa la aplicación de login y password.

Al introducir el password. ¿Sabes cómo se visualiza los * mientras escribes la contraseña?

Para que lo tengas en cuenta.
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #6 en: 14 Octubre 2010, 01:22 am »

@Meta. Es una pregunta o recomendación?. De ser recomendación, dudo que lo tenga en mente y/o que lo necesite. xD
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
JCDedalus

Desconectado Desconectado

Mensajes: 10


Todo lo que es comprendido está bien.


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #7 en: 14 Octubre 2010, 02:42 am »

Si te parece curioso posteo el codigo por si hay algo mal:
Código
  1. while(1<2):
  2.    name = raw_input('Ingrese su nombre de usuario: ')
  3.    if name != 'Edward' and name != 'Antonio':
  4.        print 'Nombre de usuario incorrecto'
  5.    else:
  6.        if name == 'Edward':
  7.                pasw_edward = raw_input('Ingrese su contraseña: ')
  8.                if pasw_edward != '12345':
  9.                    print 'Contraseña incorrecta'
  10.                else:
  11.                    print 'Bienvenido a la sesión'
  12.                    break
  13.        elif name == 'Antonio':
  14.                pasw_antonio = raw_input('Ingrese su contraseña: ')
  15.                if pasw_antonio != '54321':
  16.                    print 'Contraseña incorrecta'
  17.                else:
  18.                    print 'Bienvenido a la sesión'
  19.                    break
Lo de los asteriscos la verdad no me lo había planteado, comenzé a aprender Python como primer lenguaje hace un par de semanas, y aún no tengo los conocimientos para hacer algo más o menos complejo, por lo que lo de ocultar la contraseña le omiti de mis planes. Claro que si me decís  como se hace sería genial.  ;)
En línea

Todo lo que es comprendido está bien.
"We.....Are.....One"
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #8 en: 14 Octubre 2010, 02:45 am »

En la primera linea, no sería mejor poner,
Código
  1. while(1):

Creo que sería igual, no?
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
JCDedalus

Desconectado Desconectado

Mensajes: 10


Todo lo que es comprendido está bien.


Ver Perfil
Re: [Python] Nombre de usuario y contraseña.
« Respuesta #9 en: 14 Octubre 2010, 03:05 am »

Sí, se consigue el mismo resultado, lo escribí así porque solo había visto ejemplos con condiciones, no sabía que podías poner simplemente un valor.
En línea

Todo lo que es comprendido está bien.
"We.....Are.....One"
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines