Código de Python - Ejemplo de implementar un menu en python en la consola

Imágen de perfil
Val: 2.423
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ejemplo de implementar un menu en python en la consolagráfica de visualizaciones


Python

Actualizado el 30 de Noviembre del 2016 por Xve (292 códigos) (Publicado el 5 de Diciembre del 2014)
162.993 visualizaciones desde el 5 de Diciembre del 2014
Este simple código es un ejemplo para visualizar como se puede crear un menú con varias opciones de manera sencilla.

Requerimientos

Versiones para Python 2.7 y Python 3.x

Python 2.x
estrellaestrellaestrellaestrellaestrella(6)

Actualizado el 21 de Enero del 2017 (Publicado el 5 de Diciembre del 2014)gráfica de visualizaciones de la versión: Python 2.x
19.208 visualizaciones desde el 5 de Diciembre del 2014

Python 3.x
estrellaestrellaestrellaestrellaestrella(34)

Actualizado el 6 de Diciembre del 2016 (Publicado el 30 de Noviembre del 2016)gráfica de visualizaciones de la versión: Python 3.x
143.794 visualizaciones desde el 30 de Noviembre del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import os
 
def menu():
	"""
	Función que limpia la pantalla y muestra nuevamente el menu
	"""
	os.system('clear') # NOTA para windows tienes que cambiar clear por cls
	print ("Selecciona una opción")
	print ("\t1 - primera opción")
	print ("\t2 - segunda opción")
	print ("\t3 - tercera opción")
	print ("\t9 - salir")
 
 
while True:
	# Mostramos el menu
	menu()
 
	# solicituamos una opción al usuario
	opcionMenu = input("inserta un numero valor >> ")
 
	if opcionMenu=="1":
		print ("")
		input("Has pulsado la opción 1...\npulsa una tecla para continuar")
	elif opcionMenu=="2":
		print ("")
		input("Has pulsado la opción 2...\npulsa una tecla para continuar")
	elif opcionMenu=="3":
		print ("")
		input("Has pulsado la opción 3...\npulsa una tecla para continuar")
	elif opcionMenu=="9":
		break
	else:
		print ("")
		input("No has pulsado ninguna opción correcta...\npulsa una tecla para continuar")



Comentarios sobre la versión: Python 3.x (34)

darwin ds
9 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
hola, disculpa el codigo esta con unos errores...
se supone que despues de un IF si es string va con comillas, contario no :
if opcionMenu=="1":
if opcionMenu==1:
Responder
Imágen de perfil
9 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola Darwin, es un string, por eso lleva las comillas!!!
Responder
Benerando
7 de Mayo del 2019
estrellaestrellaestrellaestrellaestrella
correcto, no esta realizando ninguna operacion por ende se toma como string
Responder
Imágen de perfil
22 de Enero del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Betty
12 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
Está excelente .....
Responder
Gustavo
29 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
excelente
Responder
7 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
Gracias amigo, me ha servido, pero tengo una pregunta ¿Cómo puedo hacer para volver al menú principal después de elegir una opción?
Soy nuevo en esto.
Responder
Imágen de perfil
7 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
Hola Andrés, ya lo hace... siempre vuelve a mostrar el menú excepto cuando pulsas la opción de salir.
Responder
7 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
Error mío, creo que no había escrito bien el codigo. Gracias por tu respuesta amigo. Qué tengas un buen día
Responder
Catalina
24 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
Me ha servido bastante el código, pero debes tener en cuenta que al momento de elegir las opciones estás diciendo que inserte un NUMERO y cuando uno lo hace no lo recibe, simplemente porque lo toma como un string, solo debes quitarle las comillas en los if, por ejemplo (if opcionMenu==1:)

Muchas gracias,
Responder
YIMI PEICH
7 de Noviembre del 2017
estrellaestrellaestrellaestrellaestrella
CORRECTO!!...por eso Python es tan intuitivo y tan bonito y limpio.
Animo a los que no conocen ningún lenguaje o desean aprender a programar, que hagan o busquen lo mismo pero por ejemplo en JAVA (van a ver que cambio!!...sin desmerecer a JAVA que es un lenguaje para ya programadores...
No obstante, a ver que opinais compis, me queda la gran duda de si recomendar a un principiante que empieze por Phyton o no. Quiero decir que luego al no "sufrir tanto" al escribir las rutinas y las funciones y entrar a aprender , no se, C# ó ++ ó C. O incluso PHP y JavaScript (no tanto JS) se lleve el chasco a la hora de escribir código. No se si me explico...
Responder
Ezequiel
2 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
Muchas gracias
Responder
GarNon_43
13 de Noviembre del 2017
estrellaestrellaestrellaestrellaestrella
buenas sobre el còdigo tenia una pregunta, estoy haciendo un programa con las listas y al introducir lo que tu has puesto para hacer un menú al darle a run me dice "inconscient use of tab and spaces in identation". SOY BASTANTE NUEVO, help xD
Responder
Peter
28 de Junio del 2019
estrellaestrellaestrellaestrellaestrella
Ami también me sale ese error y no tengo forma de quitarlo, ¿cómo se puede hacer?
Gracias de antemano
Responder
Imágen de perfil
28 de Junio del 2019
estrellaestrellaestrellaestrellaestrella
Eso es problema la indentación de las lineas, revisa que todas sean tabuladores o espacios, y que esten bien tabuladas
Responder
marlene
7 de Diciembre del 2017
estrellaestrellaestrellaestrellaestrella
Gracias y me ayudo con el menu de un proyecto
Responder
paipi
29 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
N
20 de Julio del 2018
estrellaestrellaestrellaestrellaestrella
¿Cómo podría hacer que dentro de una opción luego se puedan volver a elegir diferentes opciones?
Por lo demás genial.
Responder
David
19 de Noviembre del 2018
estrellaestrellaestrellaestrellaestrella
El programa, como plantilla MENÚ es genial, y como aprendizaje también.

El primer error, encontrado, ya se comenta por el hilo. Para elejir las opciones, hay que eliminar las comillas, ya que de caso contrario te lleva siempre al else.

De una forma parecida, ocurre con Pulsar una tecla para comenzar desde el principio. Aquí no especificamos, si pulsamos un numero o una letra por lo que en lugar de input debemos de emplear raw_input.

Gracias, por estos aportes. Estoy comenzando y como dije antes a modo de plantillas están genial.
Responder
Diego Avila
28 de Diciembre del 2018
estrellaestrellaestrellaestrellaestrella
Saludos esta bien el menu, aunque si en efecto genera un error al escoger una opcion dado que esta validando opcionMenu como un string y la opcion recogida o tomada es un integer como tal la evaluacion del if deberia ser : if opcionMenu == 1 :... caso contrario genera el mensaje: "No has pulsado ninguna opción correcta..."..... para usar tipo string como se evalua en el if deberia usarse str(mi_opcion) == "1" ..
Responder
Mauro
12 de Marzo del 2019
estrellaestrellaestrellaestrellaestrella
Esta buenisimo. Podes usar:

import os

borrar = 'cls' if os.name == 'nt' else 'clear' #os.name trae el nombre del kernel. NT para windows y POSIX para Mac o Linux

os.system(borrar)

Y te queda multiplataforma :)
Responder
Ruben__Gm
27 de Mayo del 2019
estrellaestrellaestrellaestrellaestrella
en que momento escogi esta optativa :V
Responder
Pao
29 de Septiembre del 2019
estrellaestrellaestrellaestrellaestrella
Intenté copiar el programa y agregarle más opciones (necesito que tenga 7) pero arroja error.
Es mi primer programa y me tiene loca!
Agradezco orientación.
Responder
darius
29 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
Excelente, me trajo gratos recuerdos...
Responder
28 de Marzo del 2020
estrellaestrellaestrellaestrellaestrella
Gracias buen trabajo
Responder
Patricio
17 de Julio del 2020
estrellaestrellaestrellaestrellaestrella
Estimado. Su code probado en Python 3.6.8, funciona Excelente...!
Felicitaciones amigo.
Responder
andres altamirano
26 de Agosto del 2020
estrellaestrellaestrellaestrellaestrella
Hola; tengo una duda porque me da error si le agrego mas opciones, me da error de identacion.
1
2
3
4
5
6
7
8
9
10
11
12
def menu():
	"""
	Función que limpia la pantalla y muestra nuevamente el menu
	"""
	os.system('clear') # NOTA para mac tienes que cambiar clear por cls
	print ("Selecciona una opción: ")
	print ("\t1 - Recibir cantidad")
	print ("\t2 - Transferir monto")
	print ("\t3 - Mostrar balance una moneda")
    print ("\t4 - Mostrar balance general")
    print ("\t5 - Mostrar historico transacciones")
	print ("\t9 - salir")
Responder
andres altamirano
26 de Agosto del 2020
estrellaestrellaestrellaestrellaestrella
File "/Users/aaltamirano/Dropbox/Next_U/CodigoVisual/proyectoFinal.py", line 50
"""print ("\t4 - Mostrar balance general")
^
IndentationError: unindent does not match any outer indentation level


Este es el error
Responder
Imágen de perfil
26 de Agosto del 2020
estrellaestrellaestrellaestrellaestrella
Seguramente tienes un problema con el tipo de indentación... revisa que todo el código tenga el mismo tipo... o tabulador o espacios... tiene que estar por igual en todo el código.
Responder
andres altamirano
26 de Agosto del 2020
estrellaestrellaestrellaestrellaestrella
Hola, si revise con PyCharm y ahi si me mostro el error, esque con visual studio no salia.
Responder
emileth d
23 de Octubre del 2020
estrellaestrellaestrellaestrellaestrella
me sale tu mismo error en visual studio. ¿Que debo arreglar en visual?
Responder
Imágen de perfil
15 de Noviembre del 2020
estrellaestrellaestrellaestrellaestrella
me pasa lo mismo, hay alguna solución? he probado de todo (soy nuevo en esto)
Responder
Carolina
2 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
Gracias!!!
Responder
jose paz monar
16 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Python 3.x

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2935