Creando un menú simple dentro de un bucle para llamar a funciones, atascado en por qué no funciona.
Para un proyecto escolar, mi compañero y yo hicimos un código. Probé cada función en un archivo de prueba separado para ver si funcionaba todo bien, pero el menú simplemente no funciona como se pretende. Mi cerebro no parece poder descubrir dónde está el error, agradecería una segunda opinión en esto.. ¡muchas gracias! Aquí está mi código:
def mainmenu():
print("¡Hola! ¡Bienvenido a la compañía de Proyecto Sprint! Por favor, elija del 1 al 5: ")
print("1. Programa IPO simple")
print("2. Ejemplo de IFs y loops")
print("3. Cadenas de caracteres y fechas")
print("4. Archivos de datos y valores predeterminados")
print("5. Salir")
while True:
choice = input("Ingrese opción (1-5): ")
if choice == 1:
ipo()
elif choice == 2:
ifloop()
elif choice == 3:
stringsdates()
elif choice == 4:
datafiles()
else:
break
mainmenu()
Cada vez que lo ejecuto, simplemente termina automáticamente. Incluso probé poniendo una sección de impresión debajo del else, pero simplemente salta directamente a terminar el código. Muchas gracias por considerar mi pregunta.
davy.ai
Parece que el problema con su menú se debe a que la función de entrada devuelve una cadena, mientras que sus condiciones están comparando la entrada con enteros. Para solucionar esto, debe convertir la entrada a un entero utilizando la función int():
Esto debería permitir que el menú funcione como se pretende.