Boa noite! Estou começando a aprender Python. Fiz um código para uma empresa de ônibus (exercício) e só falta uma coisa, a qual não estou conseguindo fazer. Não consigo fazer o programa guardar a informação de que o número 1 representa "poltrona ocupada" e mostrar isso no mapa. Como faço?
Esta é a questão:
Uma empresa possui ônibus com 48 lugares (24 nas janelas e 24 no corredor). Faça um programa que utilize duas listas do Python para controlar as poltronas ocupadas no corredor e nas janelas. Considere que “0” representa poltrona desocupada e “1” poltrona ocupada. Inicialmente, todas as poltronas estarão livres. Depois disso, o programa deverá apresentar as seguintes opções:
- Vender passagem
-Mostrar mapa de ocupação do ônibus
-Encerrar.
Quando a opção escolhida for “Vender passagem”, deverá ser perguntado se o usuário deseja janela ou corredor e o número da poltrona. O programa deverá então, ar uma das seguintes mensagens: - venda efetivada – se a poltrona solicitada estiver livre, marcando-a como ocupada - poltrona ocupada – se a poltrona solicitada não estiver disponível para venda - ônibus lotado – quando todas as poltronas já estiverem ocupadas Quando a opção escolhida for “Mostrar mapa de ônibus”, o programa deverá ser mostrada uma listagem conforme a seguir:
JANELA CORREDOR
1-Ocupada 1-ocupada
2-Ocupada 2- Livre
3-Livre 3- Livre
4-Livre 4-Livre
5-Ocupada 5-Livre
Quando a opção escolhida for “Encerrar”, a execução do programa deverá finalizar.
# Criando menu
for i in range(1, 49):
while opcao != 3:
janela[i]=0
corredor[i]=0
print("\n1 -Vender passagem")
print("\n2 -Mapa de ocupacao")
print("\n3 -Encerrar")
opcao = int(input("\nQual operação voce deseja realizar?"))
# Operação com as opções janela e corredor
if (opcao == 1):
print("\n----------------------------------")
print("\nCompra de passagens")
print("\n____________________________________")
opcao_local = str(input("\n [j] Para janela ou [c] para corredor: "))
if opcao_local == "j" or opcao_local == "c":
opcao_poltrona = int(input("\nNumero da poltrona: "))
if opcao_local == "j" and opcao_poltrona in janela:
print("\n** Venda efetivada!")
index = janela.index(opcao_poltrona)
removido = janela.pop(index)
janela[i]=1
elif opcao_local == "j" and opcao_poltrona == removido:
print("\n** Poltrona ocupada!")
elif opcao_local == "c" and opcao_poltrona in corredor:
print("\n** Venda efetivada!")
index = corredor.index(opcao_poltrona)
removido = corredor.pop(index)
corredor[i]=1
elif opcao_local == "c" and opcao_poltrona == removido:
print("\n** Poltrona ocupada!")
# Mostrar o mapa
if opcao == 2:
print("\n\t\t----------------------------------")
print("\n\t\t JANELA \t\t CORREDOR")
print("\n\t\t----------------------------------")
for c in range(1, 25):
if (janela[i] == 0 and corredor[i] == 0):
print("\n\t\t", c, "- Livre \t", c, "- Livre")
elif (janela[i] == 0 and corredor[i] == 1):
print("\n\t\t", c, "- Livre \t", c, "- Ocupada")
elif (janela[i] == 1 and corredor[i] == 0):
print("\n\t\t", c, "- Ocupada \t", c, "- Livre")
elif (janela[i] == 1 and corredor[i] == 1):
print("\n\t\t", c, "- Ocupada \t", c, "- Ocupada")
print("\n\t\t----------------------------------")
print("\n\n\n")
while opcao == 3:
break
Pergunta
Antonov1
Boa noite! Estou começando a aprender Python. Fiz um código para uma empresa de ônibus (exercício) e só falta uma coisa, a qual não estou conseguindo fazer. Não consigo fazer o programa guardar a informação de que o número 1 representa "poltrona ocupada" e mostrar isso no mapa. Como faço?
Esta é a questão:
Uma empresa possui ônibus com 48 lugares (24 nas janelas e 24 no corredor). Faça um programa que utilize duas listas do Python para controlar as poltronas ocupadas no corredor e nas janelas. Considere que “0” representa poltrona desocupada e “1” poltrona ocupada. Inicialmente, todas as poltronas estarão livres. Depois disso, o programa deverá apresentar as seguintes opções:
- Vender passagem
-Mostrar mapa de ocupação do ônibus
-Encerrar.
Quando a opção escolhida for “Vender passagem”, deverá ser perguntado se o usuário deseja janela ou corredor e o número da poltrona. O programa deverá então, ar uma das seguintes mensagens: - venda efetivada – se a poltrona solicitada estiver livre, marcando-a como ocupada - poltrona ocupada – se a poltrona solicitada não estiver disponível para venda - ônibus lotado – quando todas as poltronas já estiverem ocupadas Quando a opção escolhida for “Mostrar mapa de ônibus”, o programa deverá ser mostrada uma listagem conforme a seguir:
JANELA CORREDOR
1-Ocupada 1-ocupada
2-Ocupada 2- Livre
3-Livre 3- Livre
4-Livre 4-Livre
5-Ocupada 5-Livre
Quando a opção escolhida for “Encerrar”, a execução do programa deverá finalizar.
Este é o código que fiz:
janela = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
corredor = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
opcao = 0
c = 0
i=0
opcao_poltrona=0
disponivel = 0
opcao_local=0
# Criando menu
for i in range(1, 49):
while opcao != 3:
janela[i]=0
corredor[i]=0
print("\n1 -Vender passagem")
print("\n2 -Mapa de ocupacao")
print("\n3 -Encerrar")
opcao = int(input("\nQual operação voce deseja realizar?"))
# Operação com as opções janela e corredor
if (opcao == 1):
print("\n----------------------------------")
print("\nCompra de passagens")
print("\n____________________________________")
opcao_local = str(input("\n [j] Para janela ou [c] para corredor: "))
if opcao_local == "j" or opcao_local == "c":
opcao_poltrona = int(input("\nNumero da poltrona: "))
if opcao_local == "j" and opcao_poltrona in janela:
print("\n** Venda efetivada!")
index = janela.index(opcao_poltrona)
removido = janela.pop(index)
janela[i]=1
elif opcao_local == "j" and opcao_poltrona == removido:
print("\n** Poltrona ocupada!")
elif opcao_local == "c" and opcao_poltrona in corredor:
print("\n** Venda efetivada!")
index = corredor.index(opcao_poltrona)
removido = corredor.pop(index)
corredor[i]=1
elif opcao_local == "c" and opcao_poltrona == removido:
print("\n** Poltrona ocupada!")
# Mostrar o mapa
if opcao == 2:
print("\n\t\t----------------------------------")
print("\n\t\t JANELA \t\t CORREDOR")
print("\n\t\t----------------------------------")
for c in range(1, 25):
if (janela[i] == 0 and corredor[i] == 0):
print("\n\t\t", c, "- Livre \t", c, "- Livre")
elif (janela[i] == 0 and corredor[i] == 1):
print("\n\t\t", c, "- Livre \t", c, "- Ocupada")
elif (janela[i] == 1 and corredor[i] == 0):
print("\n\t\t", c, "- Ocupada \t", c, "- Livre")
elif (janela[i] == 1 and corredor[i] == 1):
print("\n\t\t", c, "- Ocupada \t", c, "- Ocupada")
print("\n\t\t----------------------------------")
print("\n\n\n")
while opcao == 3:
break
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.