Skip to content

Instantly share code, notes, and snippets.

@LucasMagnum
Created March 8, 2019 17:47
Show Gist options
  • Save LucasMagnum/6ec152d20d58afbe9b25088a51485f7c to your computer and use it in GitHub Desktop.
Save LucasMagnum/6ec152d20d58afbe9b25088a51485f7c to your computer and use it in GitHub Desktop.
Elevador
"""
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