Created
March 29, 2017 03:13
-
-
Save Mdslino/159841121bd259b5292f1cf6047dc479 to your computer and use it in GitHub Desktop.
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
import psycopg2 | |
class Pessoa: | |
"""Classe de criação do objeto Pessoa""" | |
def __init__(self, nome, idade, sexo): | |
"""Inicializador dos atributos de instancia""" | |
nome = nome | |
idade = idade | |
sexo = sexo | |
@property | |
def nome(self): | |
"""Retorna o nome do objeto""" | |
return self.__nome | |
@nome.setter | |
def nome(self, nome): | |
"""Insere um nome ao objeto""" | |
self.__nome = nome | |
@property | |
def idade(self): | |
"""Retorna a idade do objeto""" | |
return self.__idade | |
@idade.setter | |
def idade(self, idade): | |
"""Insere a idade do objeto""" | |
self.__idade = idade | |
@property | |
def sexo(self): | |
"""Retorna o sexo do objeto""" | |
return self.__sexo | |
@sexo.setter | |
def sexo(self, sexo): | |
"""Insere o sexo do objeto""" | |
x = "Masculino" if sexo.lower() == "m" else "Feminino" if sexo.lower() == "f" else "Sexo Invalido" | |
self.__sexo = x | |
try: | |
conn = psycopg2.connect("dbname='mydb' user='mdslino' host='localhost' password='marcelo'") | |
except: | |
print("Não consigo conectar com o banco de dados.") | |
c = conn.cursor() | |
def checar_banco(): | |
try: | |
c.execute('SELECT * FROM pessoa;') | |
except: | |
c.execute('CREATE TABLE pessoa (id int, nome text, idade int, sexo text);') | |
def criar_pessoas(): | |
n = int(input("Quantas pessoas deseja adcionar? ")) | |
lista_pessoa = [] | |
for i in range(n): | |
nome = input("Nome: ") | |
idade = int(input("Idade: ")) | |
sexo = input('''Sexo: "Digite M ou N "''') | |
p = Pessoa(nome, idade, sexo) | |
lista_pessoa.append(p) | |
return lista_pessoa | |
def inserir_banco(lista_pessoa): | |
for i in range(lista_pessoa): | |
query = "INSERT INTO pessoa (nome, idade, sexo ) VALUES (%s, %d, %s);" | |
data = (i.nome, i.idade, i.sexo) | |
c.execute(query, data) | |
c.commit() | |
def buscar_banco(nome): | |
query = "SELECT nome FROM pessoa;" | |
c.execute(query) | |
results = c.fetchall() | |
for i in results: | |
print(i) | |
def main(): | |
pessoas = criar_pessoas() | |
checar_banco() | |
inserir_banco(pessoas) | |
busca = input("Nome para buscar: ") | |
buscar_banco(busca) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment