Created
January 10, 2019 07:15
-
-
Save Ekoko-Clesh/7fe680b1f38ba7036561dfc62b583fff to your computer and use it in GitHub Desktop.
gestao de pensao
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
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