[SOLUCIONADO] Retornar al menú...

Iniciado por Hu0r, Marzo 09, 2013, 01:21:03 AM

Tema anterior - Siguiente tema

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

Marzo 09, 2013, 01:21:03 AM Ultima modificación: Septiembre 09, 2014, 08:46:10 PM por Expermicid
Hola chicos, vengo con una nueva duda en particular. Quiero crear una variable (no sé si decirle así) que al terminar de ejecutar el script me pregunte algo así como "Quieres volver a ejecutar el script?", y vuelva a correr el script. Es decir, algo como:

Código: python

# ------------

# Script

# -----------

print "Finalizado."
var = 0
while(var != "Si" and var != "si" and var != "no" and var !="No"):
    var = raw_input("¿Quieres volver a correr el script?": )
    if var == "Si" or "si":
        # -- VOLVER A EJECUTAR SCRIPT DESDE CERO--
    elif var == "No" or "no":
        break # Finalizar script
    else:
        print "Opción inválida"


Saben de alguna función, o algo para hacer eso :P?

Gracias y saludos!!

Si el código lo tienes en una función, sólo llámala, si no me temo que tienes que poner el while justo antes del código que quieres volver a ejecutar.

Por cierto, para evitar eso:

Código: python
var != "Si" and var != "si" and var != "no" and var !="No"


Usa:

Código: python
var.lower() != "si" and var.lower() != "no"


lower() Convierte el texto a minúscula

Y esta parte está mal:

Código: python
if var == "Si" or "si":


Tienes que hacer de nuevo la comparación despues del or

Saludos!







No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si el código lo tienes en una función, sólo llámala, si no me temo que tienes que poner el while justo antes del código que quieres volver a ejecutar.

Por cierto, para evitar eso:

Código: python
var != "Si" and var != "si" and var != "no" and var !="No"


Usa:

Código: python
var.lower() != "si" and var.lower() != "no"


lower() Convierte el texto a minúscula

Y esta parte está mal:

Código: python
if var == "Si" or "si":


Tienes que hacer de nuevo la comparación despues del or

Saludos!

Ups, lo último se me pasó poner el "==", eso lo tengo claro :P jajja. No está en una función, y además es un buen árbol de opciones el script... por lo que me veo medio complicado al usar un while. Por eso pensé que se podría definir una función para eso o algo así.

Sobre var.lower, no lo sabía, lo estudiaré :P.

Yo te diría que evites el uso del while. Lo mejor es crear una función ("menu", por ejemplo) en la que incluyas el código que mencionaste.

Una vez que se ejecute el programa, la llamas y listo.

Saludos!
WhiZ

P.D.: jeje a decir verdad tu código me pareció muy C/C++. Ya sabés codear en esos lenguajes???


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Yo te diría que evites el uso del while. Lo mejor es crear una función ("menu", por ejemplo) en la que incluyas el código que mencionaste.

Una vez que se ejecute el programa, la llamas y listo.

Saludos!
WhiZ

P.D.: jeje a decir verdad tu código me pareció muy C/C++. Ya sabés codear en esos lenguajes???

La verdad soy nuevo en Python por lo que mis códigos son bastante brutos y redundantes en sus sentencias, y ya me aburrí del loop while, pero lo que he buscado en internet no me ayuda xd, ya que no he encontrado una buena explicación de cómo crear funciones explícitamente para diversas cosas (en este caso crear un "menú").

Respecto al PD, en la universidad tuve un semestre de c++, pero lo terminé botando. Pero tengo la base de este lenguaje, quizá por eso los hago muy parecidos jajaa.

Hu0r,
Por tus varias preguntas sobre programación en los últimos días me he dado cuenta que tienes unos grandes vacíos.
Mi consejo es que primero aprendas sobre metodología de programación más que te hagas la idea de dominar un lenguaje desde ya.
Haces bien en comenzar con python, es un lenguaje que te ayudará a entender las cosas de manera más rápida y no te distraerá con asuntos propios de lenguajes de más bajo nivel como C.

Te recomiendo este libro para que comiences desde 0 y aclares conceptos básicos como lo son funciones y ciclos: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



Saludos.
¡< blozzter >!