Autor
|
Tema: [python] Tonteando con el lenguaje, como hacerle volver atrás? (Leído 14,123 veces)
|
Artikbot
Holy Thunderforce
Ex-Staff
Desconectado
Mensajes: 9.555
@ehn Division
|
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: x=input('ingrese su contraseña -> ') if len(x)<6: print('demasiado corta') elif len(x)>=6: 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. x=input('ingrese su contraseña -> ') if len(x)<6: print('demasiado corta') x=input('ingrese su contraseña. debe tener 6 o mas caracteres -> ') elif len(x)>=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
Mensajes: 495
|
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
Mensajes: 708
Lay Ladie lay,...
|
Algo asi: x = "" while (len(x)<6): x=input('ingrese su contraseña -> ') if len(x)<6: print('demasiado corta') print('contraseña correcta')
|
|
|
En línea
|
|
|
|
Artikbot
Holy Thunderforce
Ex-Staff
Desconectado
Mensajes: 9.555
@ehn Division
|
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... # -*- coding: utf-8 -*- x=input('ingrese su contraseña -> ') while len(x)<6: print('por favor, ingrese otra vez. debe tener 6 o más carácteres') if len(x)>=6: print('contraseña correcta') 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) x=input('ingrese su contraseña -> ') while (len(x)<6): x=input('ingrese su contraseña -> ') if len(x)<6: print('demasiado corta') print('contraseña correcta')
Muchas gracias tíos
|
|
« Ú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
Mensajes: 495
|
x=input('ingrese su contrasenia -> ') while len(x)<6: x=input('por favor, ingrese otra vez. debe tener 6 o mas caracteres\n') 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
Mensajes: 9.555
@ehn Division
|
x=input('ingrese su contraseña -> ') while (len(x)<6): print('demasiado corta') x=input('ingrese su contraseña -> ') print('contraseña correcta, presione una tecla para salir') input('')
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
Mensajes: 495
|
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
Mensajes: 9.555
@ehn Division
|
Ajá! Gracias a los dos 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
|
|
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda Python. Como volver a ejecutar codigo cuando acaba
Scripting
|
JCRb
|
2
|
6,784
|
20 Febrero 2012, 01:27 am
por JCRb
|
|
|
[Script]Volver atras, Codigo Bash
Scripting
|
punkacs
|
2
|
7,978
|
27 Abril 2012, 04:37 am
por leogtz
|
|
|
(Ayuda) Como hacerle UnlockSim a el LG L5?
Android
|
Nery33
|
0
|
2,558
|
6 Agosto 2013, 03:30 am
por Nery33
|
|
|
Prevenir el uso del botón volver atrás del navegador
Desarrollo Web
|
WHK
|
3
|
9,137
|
9 Agosto 2013, 20:36 pm
por WHK
|
|
|
[SOLUCIONADO]Python - ¿Cómo volver a una linea específica?
Scripting
|
Biodude9456
|
5
|
13,488
|
28 Febrero 2016, 14:04 pm
por fary
|
|