Boa noite! estou com dificuldade no desenvolvimento de um script. Mais especificamente, na parte do mapa de ocupação. Como faço para que seja mostrado corretamente no mapa as poltronas livres e ocupadas?
Abaixo está 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.
Em anexo está o código que fiz:
# Criando listas
janela = [item*0 for item in range(24)]
corredor = [item*0 for item in range(24)]
# Criando menu
for i in range(1, 49):
print("\n1 -Vender passagem")
print("\n2 -Mapa de ocupacão")
print("\n3 -Encerrar")
opcao = int(input("\nQual operação você deseja realizar?"))
# Operação com as opções janela e corredor
if opcao == 1:
print("\n----------------------------------")
print("\nCompra de passagens")
print("\n__________________________________")
opcao_local = input("\n [j] Para janela ou [c] para corredor: ")
opcao_poltrona = int(input("\n Número da poltrona: "))
#Condiçoes para poltrona livre e poltrona ocupada
if opcao_local == "j" and janela[opcao_poltrona] == 0:
print("\n** Venda efetivada!")
janela.insert(opcao_poltrona, 1)
elif opcao_local == "j" and janela[opcao_poltrona] == 1:
print("\n** Poltrona ocupada!")
if opcao_local == "c" and corredor[opcao_poltrona] == 0:
print("\n** Venda efetivada!")
corredor.insert(opcao_poltrona, 1)
elif opcao_local == "c" and corredor[opcao_poltrona] == 1:
print("\n** Poltrona ocupada!")
print("------------------------------------------")
# Mostrar o mapa
if opcao == 2:
print("\n\t\t----------------------------------")
print("\n\t\t JANELA \t\t CORREDOR")
print("\n\t\t----------------------------------")
for i in range(1, 25):
if (janela[opcao_poltrona] == 0 and corredor[opcao_poltrona] == 0):
print("\n\t\t", c, "- Livre \t", c, "- Livre")
elif (janela[opcao_poltrona] == 0 and corredor[opcao_poltrona] == 1):
print("\n\t\t", c, "- Livre \t", c, "- Ocupada")
elif (janela[opcao_poltrona] == 1 and corredor[opcao_poltrona] == 0):
print("\n\t\t", c, "- Ocupada \t", c, "- Livre")
elif (janela[opcao_poltrona] == 1 and corredor[opcao_poltrona] == 1):
print("\n\t\t", c, "- Ocupada \t", c, "- Ocupada")
print("\n\t\t----------------------------------")
print("\n\t\t----------------------------------")
print("\n\n\n")
while opcao == 3:
break