Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Data:
- @property
- def dia(self):
- return self.__dia
- @property
- def mes(self):
- return self.__mes
- @property
- def ano(self):
- return self.__ano
- @dia.setter
- def dia(self, novodia):
- self.__dia = novodia
- @mes.setter
- def mes(self, novomes):
- self.__mes = novomes
- @ano.setter
- def ano(self, novoano):
- self.__ano = novoano
- class Endereco:
- @property
- def logradouro(self):
- return self.__logradouro
- @property
- def numero(self):
- return self.__numero
- @property
- def bairro(self):
- return self.__bairro
- @property
- def cidade(self):
- return self.__cidade
- @property
- def estado(self):
- return self.__estado
- @property
- def cep(self):
- return self.__cep
- @logradouro.setter
- def logradouro(self, novolog):
- self.__logradouro = novolog
- @numero.setter
- def numero(self, novonum):
- self.__numero = novonum
- @bairro.setter
- def bairro(self, novobairro):
- self.__bairro = novobairro
- @cidade.setter
- def cidade(self, novacidade):
- self.__cidade = novacidade
- @estado.setter
- def estado(self, novoestado):
- self.__estado = novoestado
- @cep.setter
- def cep(self, novocep):
- self.__cep = novocep
- class Contato:
- @property
- def telefoneResid(self):
- return self.__telefoneResid
- @property
- def celular(self):
- return self.__celular
- @property
- def email(self):
- return self.__email
- @telefoneResid.setter
- def telefoneResid(self, novotel):
- self.__telefoneResid = novotel
- @celular.setter
- def celular(self, novocelular):
- self.__celular = novocelular
- @email.setter
- def email(self, novoemail):
- self.__email = novoemail
- class Pessoa:
- def __init__(self, nome):
- self.__nome = nome
- self.__dataNasc = Data()
- self.__endereco = Endereco()
- self.__contato = Contato()
- @property
- def nome(self):
- return self.__nome
- @nome.setter
- def nome(self, novonome):
- self.__nome = novonome
- @property
- def dataNasc(self):
- return self.__dataNasc
- @property
- def endereco(self):
- return self.__endereco
- @property
- def contato(self):
- return self.__contato
- if __name__ == "__main__":
- # Cria uma lista para colocar objetos da classe Pessoa
- listaPessoas = []
- # Dados da primeira Pessoa.
- p01 = Pessoa("João Pedro")
- p01.contato.telefoneResid = "3321-1565"
- p01.contato.celular = None # Não tem celular
- p01.contato.email = "jo.pedro@hotmail.com"
- p01.endereco.logradouro = "Rua Teixeira Soares"
- p01.endereco.numero = 354
- p01.endereco.bairro = "Engenho de Serra"
- p01.endereco.cidade = "Formiga"
- p01.endereco.estado = "MG"
- p01.endereco.cep = "35570-000"
- p01.dataNasc.dia = 10
- p01.dataNasc.mes = 5
- p01.dataNasc.ano = 1985
- # Dados da segunda Pessoa.
- p02 = Pessoa("Maria Aparecida")
- p02.contato.telefoneResid = "3321-4545"
- p02.contato.celular = "99154-7898"
- p02.contato.email = None # Não tem email
- p02.endereco.logradouro = "Avenida Rio Branco"
- p02.endereco.numero = 1200
- p02.endereco.bairro = "Centro"
- p02.endereco.cidade = "Pains"
- p02.endereco.estado = "MG"
- p02.endereco.cep = "32897-115"
- p02.dataNasc.dia = 9
- p02.dataNasc.mes = 10
- p02.dataNasc.ano = 1962
- # Insere as duas pessoas criadas na lista.
- listaPessoas.append(p01)
- listaPessoas.append(p02)
- # Imprime os dados das duas pessoas. Como cada uma delas está na
- # lista basta dar print uma vez dentro de um for.
- for pessoa in listaPessoas:
- print("---------- Dados Pessoais ----------")
- print("Nome: %s" %pessoa.nome)
- print("Nascimento: %d/%d/%d" %(pessoa.dataNasc.dia, pessoa.dataNasc.mes, pessoa.dataNasc.ano))
- print("Endereco: %s, %d - %s, %s/%s. CEP: %s" %(pessoa.endereco.logradouro, pessoa.endereco.numero, pessoa.endereco.bairro, pessoa.endereco.cidade, pessoa.endereco.estado, pessoa.endereco.cep))
- print("Telefone Residencial: %s" %pessoa.contato.telefoneResid)
- print("Telefone Celular: %s" %pessoa.contato.celular)
- print("Email: %s" %pessoa.contato.email)
- print("\n")
Add Comment
Please, Sign In to add comment