Skip to content

Instantly share code, notes, and snippets.

@Ekoko-Clesh
Created January 10, 2019 07:15
Show Gist options
  • Save Ekoko-Clesh/7fe680b1f38ba7036561dfc62b583fff to your computer and use it in GitHub Desktop.
Save Ekoko-Clesh/7fe680b1f38ba7036561dfc62b583fff to your computer and use it in GitHub Desktop.
gestao de pensao
from datetime import datetime
from os import system
from time import sleep
H = datetime.now()
h = H.hour
minuto = H.minute
pessoa = {}
cliente = []
quartos = []
Q = []
# listas dos quartos disponiveis
quartos_600 = [102, 103, 109, 113, 114, 115]
quartos_700 = [110]
quartos_800 = [100, 101, 111, 112]
quartos_1000 = [105, 106, 108, 116, 117, 119]
def baner():
print('\033[1;30m{:^50}'.format('GERENCIADOR DE PENSAO'))
print('{:^49}\033[m'.format('Versao 1.0'))
def linhas():
print('*' * 100)
def limpa_tela():
system('cls')
# funcao para cadastrar pessoas
def funcao_cadastro():
limpa_tela()
troco = 0
limpa_tela()
pessoa.clear()
Q.clear()
print(quartos_600)
print(quartos_700)
print(quartos_800)
print(quartos_1000)
print('\033[1;32mQUARTO:', end='')
print('{:^33}'.format('PRECO:\033[m'))
print()
for i in quartos_600:
print('\033[1;30m{:>10} .............'.format(i), end='')
print('{:>4}'.format(600), end='')
print('MT')
print()
print('\033[1;32mQUARTO:', end='')
print('{:^33}'.format('PRECO:\033[m'))
print()
for v in quartos_700:
print('\033[1;30m{:>10} .............'.format(v), end='')
print('{:>4}'.format(700), end='')
print('MT')
print()
print('\033[1;32mQUARTO:', end='')
print('{:^33}'.format('PRECO:\033[m'))
print()
for k in quartos_800:
print('\033[1;30m{:>10} .............'.format(k), end='')
print('{:>4}'.format(800), end='')
print('MT')
print()
print('\033[1;32mQUARTO:', end='')
print('{:^33}'.format('PRECO:\033[m'))
print()
for l in quartos_1000:
print('\033[1;30m{:>10} .............'.format(l), end='')
print('{:>5}'.format(1000), end='')
print('MT')
print()
try:
pessoa['Nome: '] = str(input('\033[1;30mCLIENTE: ')).upper()
except ValueError:
print('\033[1;31mDigite um nome valido\033[m')
while True:
try:
numero_quarto = int(input('\033[1;30mQUARTO: '))
if numero_quarto not in quartos_600 and numero_quarto not in quartos_700 and numero_quarto not in quartos_800 and numero_quarto not in quartos_1000:
print('\033[1;31mNumero de Quarto Invalido\033[m')
else:
pessoa['Quarto: '] = numero_quarto
Q.append(numero_quarto)
break
except ValueError:
print('\033[1;31mvalor Invalido\033[m')
continue
while True:
try:
preco = float(input('\033[1;30mPRECO: '))
if numero_quarto in quartos_600 and preco >= 600:
saldo = preco
troco = preco - 600
v = quartos_600.index(numero_quarto)
quartos_600[v] = 0
break
elif numero_quarto in quartos_700 and preco >= 700:
saldo = preco
troco = preco - 700
v = quartos_700.index(numero_quarto)
quartos_700[v] = 0
break
elif numero_quarto in quartos_800 and preco >= 800:
saldo = preco
troco = preco - 800
v = quartos_800.index(numero_quarto)
quartos_800[v] = 0
break
elif numero_quarto in quartos_1000 and preco >= 1000:
v = quartos_1000.index(numero_quarto)
quartos_1000[v] = 0
saldo = preco
troco = preco - 1000
break
print('\033[1;31mValor Inferior\033[m')
except ValueError:
print('Valor Invalido')
continue
pessoa['Troco'] = troco
pessoa['valor Pago: '] = saldo
cliente.append(pessoa.copy())
quartos.append(Q[:])
limpa_tela()
print(quartos)
print(pessoa)
# funcao para mostrar pessoas cadastradas
def mostra_clientes():
limpa_tela()
if len(cliente) == 1:
print('Foi cadastrada {} pessoa'.format(len(cliente)))
print()
print('\033[1;36mPESSOA CADASTRADA\033[m')
print(quartos)
print()
for i in cliente:
print(i)
print()
elif len(cliente) == 0:
print('Nao foi cadastrada nenhuma pessoa')
else:
print('Foram cadastradas {} pessoas'.format(len(cliente)))
print()
print('\033[1;36mPESSOAS CADASTRADAS\033[m')
print()
for i in cliente:
print(i)
print()
print()
sleep(3)
def caixa():
pass
def apagar():
l1 = 0
num = int(input('Numero de Quarto que Deseja deixar Desocupado: '))
for i in range(0, len(quartos_1000)):
if num in quartos_1000 and quartos_1000[i] == num:
l1 = quartos_1000.index(num)
for v in range(0, len(quartos_1000)):
if quartos_1000[v] == 0:
quartos_1000[v] = num
break
for i in range(0, len(quartos_800)):
if num in quartos_800 and quartos_800[i] == num:
l1 = quartos_800.index(num)
for v in range(0, len(quartos_800)):
if quartos_800[v] == 0:
quartos_800[v] = num
break
for i in range(0, len(quartos_700)):
if num in quartos_700 and quartos_700[i] == 0:
quartos_700[i] = num
break
for i in range(0, len(quartos_600)):
if num in quartos_600 and quartos_600[i] == num:
l1 = quartos_600.index(num)
for v in range(0, len(quartos_600)):
if quartos_600[v] == 0:
quartos_600[v] = num
break
print('\033[1;31mNumero de Quarto Invalido\033[m')
# INICIO DO PROGRAMA
while True:
baner()
try:
print('''\033[1;30m
[1] NOVO CADASTRO
[2] PESSOAS CADASTRADAS
[3] TOTAL NA CAIXA
[4] LIBERAR QUARTOS
[0] SAIR ''')
opcao = int(input())
if opcao == 1:
linhas()
funcao_cadastro()
linhas()
elif opcao == 2:
mostra_clientes()
elif opcao == 3:
caixa()
elif opcao == 4:
apagar()
elif opcao == 0:
break
else:
print('Opcao Invalida')
except ValueError:
print('ERRO')
continue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment