Last active
January 23, 2017 17:00
-
-
Save codigosdeprogra/0e922a67c4a6dc129ae65056043a26de to your computer and use it in GitHub Desktop.
Programa Pila en Python 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #AUTOR: Luis García | |
| #CARRERA: Ingenieía en Computación | |
| #PROGRAMA: Pila en python 3 | |
| #Importando la biblioteca para el manejo de funciones del systema operativo | |
| import os | |
| #Definiendo una clase en Python 3 | |
| class Vuelo(): | |
| #Definiendo el constructor | |
| def __init__(self): | |
| self.origen = "" | |
| self.destino = "" | |
| self.distancia = "" | |
| def __str__(self): | |
| return "\nOrigen-> "+self.origen+"\nDestino-> "+self.destino+"\nDistancia-> "+str(self.distancia) | |
| def set_value(self, data): | |
| if len(data)==3: | |
| self.origen =data[0] | |
| self.destino =data[1] | |
| self.distancia =data[2] | |
| class Pila(): | |
| def __init__(self): | |
| self.lista_DE_Vuelos = [] | |
| #Definiendo una función de la clase pila con'def' | |
| def tamanio(self): | |
| if len(self.lista_DE_Vuelos) > 0: | |
| print("El tamaño de la pila es: ",len(self.lista_DE_Vuelos)) | |
| else: | |
| print("\nNO hay elementos en la pila") | |
| def desapilar(self): | |
| if len(self.lista_DE_Vuelos) > 0: | |
| print("\nVUELO EN EL TOPE DE LA PILA A ELIMINAR:\n", self.lista_DE_Vuelos[-1]) | |
| self.lista_DE_Vuelos.remove(self.lista_DE_Vuelos[-1]) | |
| print("\nVuelo eliminado...") | |
| else: | |
| print("\nNO hay elementos en la pila...") | |
| def tope(self): | |
| if len(self.lista_DE_Vuelos) > 0: | |
| print("\nEl tope de la pila es:\n", self.lista_DE_Vuelos[-1]) | |
| else: | |
| print("\nNO hay elementos en la pila...") | |
| def vaciar(self): | |
| if len(self.lista_DE_Vuelos) > 0: | |
| self.__init__() | |
| print("\nVuelos eliminados") | |
| else: | |
| print("\nNO hay elementos en la pila...") | |
| opc = 0 | |
| #Creando un objeto de la clase pila | |
| adm_Obj_pila = Pila() | |
| while opc != 6: | |
| os.system("cls") | |
| print("PROGRAMA PILA, Ejemplo: \n") | |
| print("ADMINISTRADOR DE VUELOS\n") | |
| #Capturando la opción del usuario en la variable 'opc' | |
| opc = input("1.- Tamaño de la pila \n2.- Apilar \n3.- Desapilar \n4.- Tope \n5.- Vaciar \n6.- Salir \nElige una opcion -> ") | |
| #convirtiendo a entero la variable 'opc' para poder evaluar la elección del menú | |
| opc = int(opc) | |
| if opc == 1: | |
| #Mandando llamar la función tamanio de la clase pila que esté dentro del objeto instanciado anteriormente | |
| adm_Obj_pila.tamanio() | |
| elif opc == 2: | |
| print() | |
| #Definiendo una variable booleana | |
| bandera = True | |
| while bandera == True: | |
| origen = input("Ingrese el origen: ") | |
| if origen.isdigit(): | |
| input("Error, no ingrese unicamente numeros, ingrese caracteres validos...") | |
| else: | |
| break | |
| while bandera == True: | |
| destino = input("Ingrese el destino: ") | |
| if destino.isdigit(): | |
| input("Error, no ingrese unicamente numeros, ingrese caracteres validos...") | |
| else: | |
| break | |
| while bandera == True: | |
| distancia = input("Ingrese la distancia: ") | |
| if not distancia.isdigit(): | |
| input("Error, ingrese unicamente digitos...") | |
| else: | |
| distancia = int(distancia) | |
| objVuelos = Vuelo() | |
| objVuelos.set_value([origen, destino, distancia]) | |
| #Agregando los valores capturados a la pila con el comando o función de las listas 'append()' | |
| adm_Obj_pila.lista_DE_Vuelos.append(objVuelos) | |
| break | |
| elif opc == 3: | |
| adm_Obj_pila.desapilar() | |
| elif opc == 4: | |
| adm_Obj_pila.tope() | |
| elif opc== 5: | |
| adm_Obj_pila.vaciar() | |
| print("\n") | |
| #Llamando la función del sistema operativo 'pause' | |
| os.system("pause") | |
| input("\nSaliendo, presione una tecla para continuar...") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment