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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [python] Tonteando con el lenguaje, como hacerle volver atrás?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [python] Tonteando con el lenguaje, como hacerle volver atrás?  (Leído 14,093 veces)
Artikbot
Holy Thunderforce
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.555


@ehn Division


Ver Perfil WWW
[python] Tonteando con el lenguaje, como hacerle volver atrás?
« en: 24 Agosto 2009, 00:20 am »

Buenas!

Quiero escribir un código que me muestre un campo donde ingresar una palabra, en caso de no tener la longitud deseada, volver a pedirla otra vez mostrando un mensaje de error distinto, con el error cometido. Y seguir así hasta que se ingrese un valor de longitud adecuada.

Este es mi source, pero no repite la petición:

Código
  1. x=input('ingrese su contraseña -> ')
  2. if len(x)<6:
  3. print('demasiado corta')
  4. elif len(x)>=6:
  5. print('contraseña correcta')

Así que he intentado añadir una línea, que funciona, vuelve a pedir la contraseña, pero sin embargo, la toma como el valor x, pero hace caso omiso de la línea anterior de código. Me ha parecido obvio, pero no creo que la solución sea copiar una y otra vez el código... debe haber algún modo de hacerle volver a repetir el código pero añadiendo al mensaje de salida 'debe tener 6 o más carácteres', no? Además de eso, el mensaje que introduzco le suda 3 pueblos, muestra un output en blanco si fallo, y si acierto muestra el valor correspondiente.

Código
  1. x=input('ingrese su contraseña -> ')
  2. if len(x)<6:
  3. print('demasiado corta')
  4. x=input('ingrese su contraseña. debe tener 6 o mas caracteres -> ')
  5. elif len(x)>=6:
  6. print('contraseña correcta')



Entonces mi pregunta es... Cómo hago para hacerle volver hacia el principio del código haciéndole añadir una frase al output? Lo de la frase creo que ya sé como hacerlo, pero lo de devolverle al inicio sí que NPI... :-\


Saludos!


En línea




Monto ordenadores a medida, me ajusto a todo tipo de presupuestos. Contáctame para más información.
Sólo para España peninsular y Baleares
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #1 en: 24 Agosto 2009, 00:42 am »

Con un bucle puedes hacer que se devuelva al inicio hasta que ponga una contraseña de 6 caracteres.


En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #2 en: 24 Agosto 2009, 00:44 am »

Algo asi:

Código
  1. x = ""
  2. while (len(x)<6):
  3.    x=input('ingrese su contraseña -> ')
  4.    if len(x)<6:
  5.        print('demasiado corta')
  6. print('contraseña correcta')
  7.  
En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
Artikbot
Holy Thunderforce
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.555


@ehn Division


Ver Perfil WWW
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #3 en: 24 Agosto 2009, 00:53 am »

Un bucle... Debería añadir el inicio del bucle antes de la línea adonde se declara el valor de x?

O sea, con el while conseguiría que el programa continuase ejecutando el código hasta que la entrada fuese correcta... Cierto?

veamos...

Código
  1. # -*- coding: utf-8 -*-
  2. x=input('ingrese su contraseña -> ')
  3. while len(x)<6:
  4. print('por favor, ingrese otra vez. debe tener 6 o más carácteres')
  5. if len(x)>=6:
  6. print('contraseña correcta')
  7. input('')

Parece que es lo que debería... Pero repite hasta el infinito el mensaje de volver a ingresar :-(

Quizás si pudiese terminar esa orden, me permitiría volver a ingresar, no?



Edit: Jubjub, no entiendo el trozo de tu código adónde abandonas el if para volver al while... O sea, que en el momento que el trozo que pertenece a while fuese un valor mayor de 6, dejaría de tener relevancia el while y mostraría el mensaje de 'contraseña correcta'?

Así hace lo que quiero que haga (code de jubjub con una petición a declarar x al incio xD)

Código
  1. x=input('ingrese su contraseña -> ')
  2. while (len(x)<6):
  3. x=input('ingrese su contraseña -> ')
  4. if len(x)<6:
  5. print('demasiado corta')
  6. print('contraseña correcta')



Muchas gracias tíos :D
« Última modificación: 24 Agosto 2009, 00:59 am por Artikbot » En línea




Monto ordenadores a medida, me ajusto a todo tipo de presupuestos. Contáctame para más información.
Sólo para España peninsular y Baleares
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #4 en: 24 Agosto 2009, 01:01 am »

Código
  1. x=input('ingrese su contrasenia -> ')
  2. while len(x)<6:
  3. x=input('por favor, ingrese otra vez. debe tener 6 o mas caracteres\n')
  4. print('contrasenia correcta')
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Artikbot
Holy Thunderforce
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.555


@ehn Division


Ver Perfil WWW
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #5 en: 24 Agosto 2009, 01:05 am »

Código
  1. x=input('ingrese su contraseña -> ')
  2. while (len(x)<6):
  3. print('demasiado corta')
  4. x=input('ingrese su contraseña -> ')
  5. print('contraseña correcta, presione una tecla para salir')
  6. input('')
  7.  

Con un solo while. Y muestra mensaje de terminación de la app xD

Ay la ostia, si el code es el mismo en esencia >.<

Adrede, ese \n que pones... No he visto para qué sirve en los docs de Python 3.1, qué es exactamente?

Edit: Puedo deducir que a partir de \n es adónde se introduce el código del usuario dentro de 'input', no?
« Última modificación: 24 Agosto 2009, 01:06 am por Artikbot » En línea




Monto ordenadores a medida, me ajusto a todo tipo de presupuestos. Contáctame para más información.
Sólo para España peninsular y Baleares
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #6 en: 24 Agosto 2009, 01:09 am »

El \n es salto de línea, así el siguiente mensaje que se muestre o en este caso el ingreso de la contraseña se hará en la siguiente línea.

Saludos.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Artikbot
Holy Thunderforce
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.555


@ehn Division


Ver Perfil WWW
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #7 en: 24 Agosto 2009, 01:10 am »

Ajá!

Gracias a los dos :D


Mañana veré a ver qué mas hago, esta vez un poco más útil xDDDD

Son la 1:10 de la mañana y tengo sueño  :rolleyes:
En línea




Monto ordenadores a medida, me ajusto a todo tipo de presupuestos. Contáctame para más información.
Sólo para España peninsular y Baleares
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: [python] Tonteando con el lenguaje, como hacerle volver atrás?
« Respuesta #8 en: 24 Agosto 2009, 22:35 pm »

:D aqui nos tienes :P
En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Python. Como volver a ejecutar codigo cuando acaba
Scripting
JCRb 2 6,775 Último mensaje 20 Febrero 2012, 01:27 am
por JCRb
[Script]Volver atras, Codigo Bash
Scripting
punkacs 2 7,950 Último mensaje 27 Abril 2012, 04:37 am
por leogtz
(Ayuda) Como hacerle UnlockSim a el LG L5?
Android
Nery33 0 2,549 Último mensaje 6 Agosto 2013, 03:30 am
por Nery33
Prevenir el uso del botón volver atrás del navegador
Desarrollo Web
WHK 3 9,120 Último mensaje 9 Agosto 2013, 20:36 pm
por WHK
[SOLUCIONADO]Python - ¿Cómo volver a una linea específica?
Scripting
Biodude9456 5 13,437 Último mensaje 28 Febrero 2016, 14:04 pm
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines