import os
clientes = ["João", "Maria", "Carlos", "Ana", "Beatriz"]
clientes = [{'nome': 'João', 'categoria':'Financeiro', 'ativo' :False},
{'nome': 'Maria', 'categoria':'RH', 'ativo' :True},
{'nome': 'Carlos', 'categoria':'Suporte Técnico', 'ativo' :True},
{'nome': 'Ana', 'categoria':'Cobrança', 'ativo' :True},
{'nome': 'Beatriz', 'categoria':'Serviços Gerais', 'ativo' :False},]
def exibir_opcoes():
print('1. Cadastrar Cliente')
print('2. Listar Cliente')
print('3. Alterar Status do Cliente')
print('4. Sair\n')
def finalizar_app():
exibir_subtitulo('Finalizando o app\n')
def retornar_ao_menu_principal():
input('\n Pressione a tecla ENTER para voltar ao menu principal e reiniciar o processo por favor.')
main()
def opcao_invalida():
input('\n Esta opção não é valida para o cadastro.')
main()
def exibir_subtitulo(texto):
os.system('cls')
# o comando abaixo pode ser colocado com ou sem numero >> "linha = '*' * (len(texto) + 4) ou inha = '*' * (len(texto))"
linha = '*' * (len(texto) + 4)
print(linha)
print(texto)
print(linha)
print()
def cadastrar_novo_cliente():
'''Essa função é responsavel por cadastrar um novo cliente
Inputs:
- Nome do cliente
- Categoria
Output:
- Adiciona um novo cliente a lista de clientes
'''
exibir_subtitulo('Cadastre o novo cliente')
nome_do_cliente = input('Digite o nome do cliente que deseja cadastrar: ')
categoria = input(f'Digite o nome da Categoria do cliente {nome_do_cliente}:')
dados_do_cliente = {'nome' :nome_do_cliente, 'categoria':categoria, 'ativo':False}
clientes.append(dados_do_cliente)
clientes.append(nome_do_cliente)
print(f'O colaborador {nome_do_cliente} foi cadastrado com sucesso!\n')
retornar_ao_menu_principal()
def listar_clientes():
exibir_subtitulo('Listando os Clientes')
print(f' {'Nome do cliente'.ljust(22)} | {'Categoria'.ljust(20)} | Status\n')
for cliente in clientes:
nome_cliente = cliente['nome']
categoria = cliente['categoria']
ativo = 'ativado' if cliente['ativo'] else 'desativado'
print(f' - {nome_cliente.ljust(20)} | {categoria.ljust(20)} | {ativo}')
retornar_ao_menu_principal()
def alternar_estado_cliente():
exibir_subtitulo('Altere o status do cliente')
nome_cliente = input('Digite o nome do cliente que deseja alterar o status: ')
cliente_encontrado = False
for cliente in clientes:
if nome_cliente == cliente['nome']:
cliente_encontrado = True
cliente['ativo'] = not cliente['ativo']
mensagem = f'O status do colaborador {nome_cliente} está ativo.' if cliente['ativo'] else f'O status do colaborador {nome_cliente} não está mais ativo.'
print(mensagem)
if not cliente_encontrado:
print('O cliente não foi encontrado')
retornar_ao_menu_principal()
def escolher_opcao():
try:
opcao_escolhida = int(input('Esolha uma Opção: '))
# opcao_escolhida = int(opcao_escolhida)
if opcao_escolhida == 1:
cadastrar_novo_cliente()
elif opcao_escolhida == 2:
listar_clientes()
elif opcao_escolhida == 3:
alternar_estado_cliente()
elif opcao_escolhida == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()
def main():
os.system('cls')
exibir_opcoes()
escolher_opcao()
if __name__ == '__main__':
main()