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


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  Python "Menu"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Python "Menu"  (Leído 388 veces)
Camilo2001

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Python "Menu"
« en: 10 Mayo 2017, 04:15 »

Código
  1. def menu():
  2.  
  3. def empezar():
  4. print("Empezando...")
  5.  
  6. def opciones():
  7. print("Opciones...")
  8.  
  9. def salir():
  10. print("Saliendo...")
  11.  
  12. print("1 Empezar")
  13. print("2 Opciones")
  14. print("3 Salir")
  15.  
  16. f_de={"1":empezar,"2":opciones,"3":salir}
  17.  
  18. while True:
  19.  
  20. entrada=input("->")
  21.  
  22. if entrada in f_de:
  23. f_de[entrada]()
  24. else:
  25. pass #o dar un mensaje de error
  26.  

Es un codigo correcto para un menu? O hay una forma mas sencilla/elegante?


En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.397



Ver Perfil
Re: Python "Menu"
« Respuesta #1 en: 10 Mayo 2017, 04:23 »

Código
  1. f_de={"1":empezar,"2":opciones,"3":salir}

te recomiendo cambiar esa linea por un array simple,

Código
  1. f_de=[
  2.  empezar,
  3.  opciones,
  4.  salir
  5. ]


está bien que lo trates de modularizar, pero de hacer funciones dentro de funciones no es lo mejor... solo hace el codigo complicado y difícil de leer



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
tincopasan


Desconectado Desconectado

Mensajes: 923


No es lo mismo conocer el camino que recorrelo.


Ver Perfil
Re: Python "Menu"
« Respuesta #2 en: 11 Mayo 2017, 03:48 »

creo que tenés un concepto equivocado sobre python, no es tan así que existen maneras correctas o incorrectas, en realidad existen maneras diferentes con respecto a la forma de plantear el código. Pasa lo mismo con el término elegante o no , eso es subjetivo, no a todos nos gusta o parece elegante lo mismo. En cuanto a sencillez, no hay una forma específica de crear un menú, hay muchisimas formas.
En cuanto a tu código, soy partidario de usar diccionarios en menus, ya que después facilita mucho el uso con clases.
lo único que no entiendo porque la necesidad de 3 print seguidos si podrías:
Código
  1. print('''[1] Empezar
  2. [2] Opciones
  3. [3] Salir''')
  4.  
Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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