[ Foro de Python ]

while dentro de otro while

18-May-2018 00:34
Alejandro Giraldo
1 Respuestas

Hola
Estoy tratando de hacer un programa en el que tengo que poner un menú que me lleva a un sub-menú de acuerdo a ciertas condiciones. Para eso lo hago así:

 
print("1. suma")
print("2. resta")
print("3. multiplicación")
print("4. Determinante de una matriz")
print("0. Salir del programa")
selección = int(input("Ingresa él número de la operación que deseas realizar: "))
 
while selección != 0:
	if selección == 1:
		print("Seleccionaste suma.")
		print()
		Dir.selec_tam()
		tamaño = int(input("Selecciona el tamaño de matriz que quieres usar: "))
		while tamaño != 0:
			if tamaño == 1:
				Dir.tam_2x2_suma()
			elif tamaño == 2:
				Dir.tam_3x3_suma()
			elif tamaño == 3:
				Dir.tam_4x4_suma()
			elif tamaño == 0:
				print("Seleccionaste regresar")
			else:
				print("No entiendo tu selección.")
 


y continua con las demás condiciones del primer while y sus correspondientes sub-menús, el asunto es que cuando corro el programa, este se queda haciendo un ciclo infinito en la operación del sub menú. Me explico, le digo que me realice la suma de dos matrices de 2x2, las hace y en vez de volver a solicitar el tamaño de la matriz, lo que hace es volverme a pedir los datos para realizar la operación de las matrices. He intentado hacerlo definiciendo funciones y tampoco funciona. y ya no sé que hacer.

Le agradezco al que me pueda dar una explicación.

saludos


16-Jun-2018 23:47
Nacho Cabanes (+37)

La petición de datos debe estar dentro del "while", no fuera, o siempre se repetirá para su valor inicial, sin cambiar nunca.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)