Created
March 8, 2019 17:47
-
-
Save LucasMagnum/6ec152d20d58afbe9b25088a51485f7c to your computer and use it in GitHub Desktop.
Elevador
This file contains 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
""" | |
Pessoa no térreo, elevador no 3 andar, prédio com 5 andares, | |
pessoa do térreo chamou o elevador e pessoa no 5 andar | |
chamou elevador pra descer. | |
Primeiro no 5 andar e depois no térreo | |
""" | |
class Elevador: | |
andar = 1 | |
def __init__(self, andares): | |
self.andares = andares | |
self.solicitacoes = [] | |
def chamar(self, andar, direcao): | |
print(f"Chamando o elevador para o andar {andar} e direcao {direcao}") | |
self.solicitacoes.append((andar, direcao)) | |
def trajeto(self): | |
print(f"Elevador esta no andar {self.andar}") | |
print("Trajeto do elevador: ") | |
for solicitacao in self.solicitacoes: | |
andar_chamado, _ = solicitacao | |
if self.andar > andar_chamado: | |
print(f"Andar: {self.andar} Descer para o {andar_chamado}") | |
else: | |
print(f"Andar: {self.andar} Subir para o {andar_chamado}") | |
self.andar = andar_chamado | |
elevador = Elevador(andares=5) | |
elevador.andar = 3 | |
elevador.chamar(andar=1, direcao="subir") | |
elevador.chamar(andar=5, direcao="descer") | |
elevador.chamar(andar=2, direcao="descer") | |
elevador.trajeto() | |
# Primeiro no 5 andar e depois no térreo | |
""" | |
Pessoa no térreo, elevador no 4 andar, prédio com 5 andares, | |
pessoa do térreo chamou o elevador pra subir, | |
pessoa no 5 andar chamou elevador pra descer, | |
e a pessoa dentro do elevador apertou o botão do 3 andar pra descer | |
Prioridade pra quem tá dentro, 3 andar, 5 andar e depois terreo | |
""" | |
""" | |
elevador = Elevador(andares=5) | |
elevador.andar = 4 | |
elevador.chamar(andar=1, direcao="subir") | |
elevador.chamar(andar=5, direcao="descer") | |
elevador.escolher_andar(andar=3) | |
elevador.trajeto() | |
""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment