Você está na página 1de 2

1 # -*- coding: utf-8 -*-

2 """
3 Created on Mon Apr 19 09:55:22 2021
4
5 @author: Fabio
6 """
7 def cadastrar(arquivo, nome):
8 pessoa = {}
9 pessoa["nome"] = nome
10 pessoa["emails"] = []
11 pessoa["telefones"] = []
12 arquivo.append(pessoa)
13
14 def excluir(arquivo, nome):
15 for pessoa in arquivo:
16 if pessoa["nome"] == nome:
17 arquivo.remove(pessoa)
18 return
19 print(nome, " não encontrado!")
20
21 def inserirEmail(arquivo, nome, emails):
22 for pessoa in arquivo:
23 if pessoa["nome"] == nome:
24 pessoa["emails"] += emails.split()
25 return
26 print(nome, " não encontrado!")
27
28 def inserirTelefone(arquivo, nome, telefones):
29 for pessoa in arquivo:
30 if pessoa["nome"] == nome:
31 pessoa["telefones"] += telefones.split()
32 return
33 print(nome, " não encontrado!")
34
35 def listar(arquivo):
36 for pessoa in arquivo:
37 for chave in pessoa:
38 print(chave, ": ", pessoa[chave])
39 print()
40
41 def menu(arquivo):
42 while True:
43 print("\nEscolha uma opção:\n1 - Incluir Pessoa\n2 - Excluir Pessoa")
44 print("3 - Incluir e-mails\n4 - Incluir Telefones\n5 - Listar Todos\n6 -
Sair\n")
45 opcao = int(input())
46 if opcao == 1:
47 nome = input("Digite o nome: ")
48 cadastrar(arquivo, nome)
49 elif opcao == 2:
50 nome = input("Digite o nome: ")
51 excluir(arquivo, nome)
52 elif opcao == 3:
53 nome = input("Digite o nome: ")
54 emails = input("Digite os e-mails separados por espaço: ")
55 inserirEmail(arquivo, nome, emails)
56 elif opcao == 4:
57 nome = input("Digite o nome: ")
58 telefones = input("Digite os telefones separados por espaço: ")
59 inserirTelefone(arquivo, nome, telefones)
60 elif opcao == 5:
61 listar(arquivo)
62 elif opcao == 6:
63 return
64 else:
65 print("Opção inválida!")
66
67 import pickle
68
69 try:
70 arquivo = pickle.load(open("cadastro.dat", "rb"))
71 menu(arquivo)
72 print("\nSalvando cadastro...")
73 pickle.dump(arquivo, open("cadastro.dat", "wb"))
74 except FileNotFoundError:
75 print("Criando cadastro...")
76 arquivo = []
77 menu(arquivo)
78 pickle.dump(arquivo, open("cadastro.dat", "wb"))
79 except IOError:
80 print("Problemas no arquivo de cadastro.")
81
82

Você também pode gostar