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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios  (Leído 4,080 veces)
Daor02

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios
« en: 2 Julio 2016, 05:16 am »

Buenas! Sé que este foro no es tanto para Python, pero tengo un problema que me está dejando mal!

Quiero hacer un menú que funcione dentro de otro. El primer menú me funciona; es decir, el general, pero el menú que va dentro de ese no... y hago exactamente lo mismo que con el primero!

Por ahora me interesa que funcionen las opciones 1-1; es decir, si aparece en la pantalla Si este mensaje aparece, el segundo menú, con opción 1, funciona., significa que encontramos la falla!

Dejo el código:

----------------------------------------------------------------------------------------------------------------------------------------------------

Código
  1. def pulgadas_a_milimetros():
  2.    print('Si este mensaje aparece, el segundo menú, con opción 1, funciona.')
  3.  
  4. def medidas_de_longitud():
  5.  
  6.    print("\nMEDIDAS DE LONGITUD \n")
  7.  
  8.    conversion=int(input('Escoja la conversión que desea: \n1. Pulgadas a milímetros. \n2. Yardas a metros. \n3. Millas a kilómetros.'
  9.                         '\n4. Pulgadas² a centímetros². \n5. Pies² a metros² \n6. Yardas² a metros² \n7. Acres a hectáreas \n8. Millas² a kilómetros². \n'))
  10.    opcion_conversion = {1: pulgadas_a_milimetros, 2: yardas_a_metros, 3: millas_a_kilometros, 4: pulgadas_c_a_centimetros_c, 5: pies_c_a_metros_c, 6: yardas_c_a_metros_c, 7: acrea_a_hectareas, 8: millas_a_kilometros}
  11.  
  12. # A partir de aquí no hace el try, sino que ejecuta el except al final del código :(
  13.  
  14.    try:
  15.        opcion_conversion[conversion]()
  16.    except:
  17.        print('No ha escogido una opción válida.')
  18.  
  19. def medidas_de_volumen():
  20.    print("Por Programar")
  21.  
  22. def medidas_de_peso():
  23.    print("Por Programar")
  24.  
  25. medida=int(input('Escoja las medidas que desea: \n1. Medidas de Longitud. \n2. Medidas de Volumen. \n3. Medidas de Peso. \n'))
  26.  
  27. opcion_medida = {1: medidas_de_longitud, 2: medidas_de_volumen, 3: medidas_de_peso}
  28.  
  29. try:
  30.    opcion_medida[medida]()
  31. except:
  32.    print('No ha escogido una opción válida.')

----------------------------------------------------------------------------------------------------------------------------------------------------

Gracias!


« Última modificación: 3 Julio 2016, 05:35 am por engel lex » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios
« Respuesta #1 en: 3 Julio 2016, 05:28 am »

hola:
varias cosas--
1) esto debería estar en scripting no en programación general.
2) debes usar las etiquetas Geshi (normas del foro)
3) indudablemente no has entendido que hace y como se usa try,except
4)no miras con atención
Citar
Quiero hacer un menú que funcione dentro de otro. El primer menú me funciona; es decir, el general, pero el menú que va dentro de ese no... y hago exactamente lo mismo que con el primero!
pues no estás haciendo lo mismo! ok ¿dónde está el error?
try es para detectar errores de alguna manera, o sea que básicamente salvo que tu lo aclares detecta cualquier error y estás cometiendo uno enorme!
¿dónde declaraste cada def del 2 menú declarados en el diccionario ? para resumir por lo menos deberías intentar algo así:
Código
  1. #-*- coding:utf-8 -*-
  2. def yardas_a_metros():
  3.    pass
  4.  
  5. def millas_a_kilometros():
  6.    pass
  7.  
  8.  
  9. def  pulgadas_c_a_centimetros_c():
  10.    pass
  11.  
  12. def pies_c_a_metros_c():
  13.    pass
  14.  
  15. def yardas_c_a_metros_c():
  16.    pass
  17.  
  18. def acrea_a_hectareas():
  19.    pass
  20.  
  21. def millas_a_kilometros():
  22.    pass
  23.  
  24.  
  25. def pulgadas_a_milimetros():
  26.    print('Si este mensaje aparece, el segundo menú, con opción 1, funciona.')
  27.  
  28. def medidas_de_longitud():
  29.  
  30.    print("\nMEDIDAS DE LONGITUD \n")
  31.  
  32.    conversion=int(input('Escoja la conversión que desea: \n1. Pulgadas a milímetros. \n2. Yardas a metros. \n3. Millas a kilómetros.'
  33.                         '\n4. Pulgadas² a centímetros². \n5. Pies² a metros² \n6. Yardas² a metros² \n7. Acres a hectáreas \n8. Millas² a kilómetros². \n'))
  34.    opcion_conversion = {1: pulgadas_a_milimetros, 2: yardas_a_metros, 3: millas_a_kilometros, 4: pulgadas_c_a_centimetros_c, 5: pies_c_a_metros_c, 6: yardas_c_a_metros_c, 7: acrea_a_hectareas, 8: millas_a_kilometros}
  35.  
  36. # A partir de aquí no hace el try, sino que ejecuta el except al final del código :(
  37.  
  38.    try:
  39.        opcion_conversion[conversion]()
  40.    except:
  41.        print('No ha escogido una opción válida.')
  42.  
  43. def medidas_de_volumen():
  44.    print("Por Programar")
  45.  
  46. def medidas_de_peso():
  47.    print("Por Programar")
  48.  
  49. medida=int(input('Escoja las medidas que desea: \n1. Medidas de Longitud. \n2. Medidas de Volumen. \n3. Medidas de Peso. \n'))
  50.  
  51. opcion_medida = {1: medidas_de_longitud, 2: medidas_de_volumen, 3: medidas_de_peso}
  52.  
  53. try:
  54.    opcion_medida[medida]()
  55. except:
  56.    print('No ha escogido una opción válida.')
  57.  

5) si bien python es libre en lo que nos deja hacer tendrías que mejorar tu lógica de programación porque está bastante pobre, hay clases, main, if, else,etc. que mejorarían tu código notablemente, aunque es cierto que así también funciona.
Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear un MENU con la opcion Ayuda y dentro de esta otras opciones
Programación Visual Basic
renga73 2 1,956 Último mensaje 7 Abril 2006, 18:48 pm
por Meg
menu dentro de un movie (flash)??
Diseño Gráfico
the_yomix 3 2,888 Último mensaje 25 Abril 2007, 19:40 pm
por Azielito
como lleno los datos que tiene un menu a otro menu vacio, en asp.net c#
.NET (C#, VB.NET, ASP)
ivan05f 2 3,789 Último mensaje 8 Noviembre 2007, 18:58 pm
por ivan05f
Menu en python con otro menu dentro
Scripting
AdeLax 2 7,017 Último mensaje 7 Octubre 2012, 21:46 pm
por AdeLax
Restaura el menú inicio en Windows 8 con Start Menu Reviver
Noticias
wolfbcn 0 2,339 Último mensaje 19 Mayo 2013, 13:38 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines