Ir para conteúdo
Fórum Script Brasil

Victor Santos Silva

Membros
  • Total de itens

    36
  • Registro em

  • Última visita

Tudo que Victor Santos Silva postou

  1. Bom galera eu estou desenvolvendo um projeto simples no django, com o qual nas views eu faço exibir o models no meu template. No models eu basicamente tenho 3 valores: título, descrição, e imagem. Bom, para exibir esta imagem variável no meu template eu faço: {% for post in posts %} <div class=item> <p>{{ post.nome_hotel }}</p> <p>{{ post.apresentacao_hotel }}</p> <picture>{% cloudinary post.foto_hotel %}</picture> </div> {% endfor %} Neste caso, eu não tenho link para minha imagem, pois eu uso para isso uma api do cloudinary, eu não necessito saber seu link. Mas no caso, eu gostaria de tornar esta imagem o background, ou o cabeçalho do meu template (no caso eu gostaria de fazer isso em dois sites diferentes). Alguém faz ideia de como eu poderia ajustar esse código para que eu possa usar esta imagem como background ou cabeçalho? Valeu galera, até mais.
  2. Sim, o Mysql está em minha máquina. Há sim uma string de conexão, como não estou no meu computador, pode haver alguns erros mas para fazer a conexão é mais ou menos isso: import MySQLdb db = MySQLdb.connect(host="localhost", user="user", passwd="senha", db="banco") cursor = db.cursor() Não sei se era esta a pergunta, mas para executar qualquer ação dentro do banco de dados faz-se assim: cursor.execute("Ação"); Eu fiz também, a conexão com um banco mysql remoto (grátis, mas temporário).Como eu andei estudando esses dias também, aprendi umas coisas, consigo melhorar minha dúvida agora: com uma conexão nesse tipo acima, é possível ter acesso a este banco de dados através de um computador qualquer, senão o qual eu criei o banco? Se eles estiverem em rede, por exemplo? Obrigado dese já.
  3. Como sou novo no mysql, tenho uma dúvida bem primitiva, e conceitual. Bom, minha dúvida é a seguinte: se crio um banco de dados mysql que se encontra num host online da internet, alguns desses sites de hospedagem, eu consigo criar um programa que faça acesso a ele se o driver mysql estiver instalado na minha máquina(até aqui é uma afirmação, fiz isto com o python), mas como funciona se o banco de dados, ao invés de ser remoto, for localhost? Imagino que os computadores que poderão acessá-lo devem estar em rede -> não sei se está afirmação é correta. estou quebrando a cabeça aqui, até então tinha um site que me dava um banco de dados mysql remoto gratuito, agora que expirou, preciso usar o localhost, mas não sei como configura. Muito obrigado pela ajuda
  4. Voltando a estudar sqlite3, vi que não consigo dar os nomes às colunas das tabelas de modo dinâmico, no esquema "Escreva parâmetro da coluna1". Tentei fazer do mesmo jeito que é feita a atualização de valores no banco de dados: A = self.escreva1.get() B = self.lescreva2.get() cur.execute("""CREATE TABLE teste1 ('?' TEXT, '?' TEXT, '?' TEXT, '?' TEXT, '?' TEXT)""",[(A),(B),(C),(D),(E)])#acho que está tudo errado na verdade não sei se isso é possível. Agradeço desde já a ajuda, e tenham um bom dia.
  5. Olá galera, gostaria de uma ajuda quanto a criação de pacotes (não sei se este é o termo a ser usado). Eu uso Linux, consigo criar um programa e executá-lo, até compilá-lo é tranquilo. Mas se meu programa necessita de alguma biblioteca ou framework, da maneira como eu estou fazendo, necessito importá-la antes. Então a dúvida é a seguinte, como eu consigo criar um instalador ou algo do tipo, que elimine a necessidade de o usuário importar alguma biblioteca externa, ou a instalação prévia de um framework? Agradeço muito a ajuda, espero que tenha sido claro. No caso, eu criei um programa usando python 2.7 e tkinter, mas quando vou executá-lo, o arquivo compilado (.pyc) ele pede a instalação do tk++ (senão me falha a memória é este o nome). Eu também não consigo eliminar a necessidade de rodá-lo pelo terminal, usando o cd para localização e o python arquivo.py para rodar, mesmo eu usando na primeira linha #!/usr/bin/env python eu não consigo executá-lo com duplo clique após usar o chmod, ou indo em propriedades e permitindo que seja executado como programa, eu ainda assim preciso usar o terminal. Valeu galera, obrigadão pela ajuda. Até a próxima!
  6. Boa tarde a todos. O problema que tenho é em usar a função UPDATE do sqlite3 no python. Criei o banco de dados, inseri tudo certinho os valores, criei a parte gráfica com o tkinter. Pretendo fazer alteração nos valores do banco de dados com o UPDATE, então meu problema é este: def atualiza(self): A = self.entry1.get() c.execute("""UPDATE teste3 SET p = '(A)' WHERE ... connection.commit() ou seja, criei um entry no qual eu digito o valor, e quando eu aperto o botão esta função é executada. Tentei das maneiras em que consegui fazer no python, uma condição quando ao valor de A fornecido, mas agora não consigo atualizar os valores no banco. O máximo que consigo, é atualizar pela letra A. Valeu galera, obrigado pela ajuda, bom fim de semana a todos.
  7. Usar o UPDATE não é o que eu preciso, já que a variável utilizará este valor para fazer operações fora deste banco de dados.
  8. Bom, consegui criar o banco de dados, se conectar a ele, criar a parte gráfica. Preciso manipular certos elementos do banco de dados, assim como se fosse uma matriz, e eu quisesse chamar por exemplo o elemento X[0,1], mas agora não faço ideia de como fazê-lo. Também não sei se esta é a melhor ideia, pois já que estou usando o tkinter, penso que haja uma maneira de fazer isto usando um listbox. Minha ideia, que vai me suprir ao que preciso, é de criar uma variável que receba o valor de dada posição, de acordo com a coluna. Valeu gente, obrigado.
  9. Outra coisa, no lugar de append, eu deveria usar extend, já que estou jogando uma lista dentro da outra?
  10. Eu acredito que o problema esteja no modo como eu estou usando o iterador (i), por isso índice fora do range. Valeu a ajuda.
  11. Então, muito obrigado por indicar o erro. Mas o que ocorre, é que não faço ideia de como corrigi-lo. Na verdade eu não consigo achar nem mesmo o erro, eu não usei um índice maior que o comprimento da lista, ainda mais nesta linha do erro, ao meu ver, todas as linhas seguintes também acusariam o mesmo problema. Por favor, alguém me ajude a corrigir o problema. Muito obrigado desde já a ajuda de todos, tenham um bom sábado.
  12. Muito obrigado, consegui fazer a correção desta parte, mas tive de mudar a função pela minha necessidade. E agora tenho de repetir a função, usando diferentes elementos dos vetores. Eu gostaria de fazer isto usando um iterador i, porém não estou conseguindo. De outra maneira eu poderia selecionar estes elementos pela sua posição numérica e zerar os vetores em determinada etapa. Acho um trampo desnecessário. Segue o código: #!/usr/bin/env python # -*- coding: utf-8 -*- v = [] # função inicial z = [] # função após 1ª briot w = [] # função após 2ª briot x = [] # multiplicadores t = 9 i = 0 def briot(i,t): #rodar a multiplicação com para x0 z.append(v[0]) #z[0] = v[0] z.append((z[0] * x[i]) + v[1]) #z[1] = v[0] * x[0] + v[1] z.append((z[1] * x[i]) + v[2]) #z[2] = v[1] * x[0] + v[2] z.append((z[2] * x[i]) + v[3]) #z[3] = v[2] * x[0] + v[3] w.append(z[0]) #w[0] = v[0] w.append((w[0] * x[i]) + z[1]) #w[1] = w[0] * x[0] + z[1] w.append((w[1] * x[i])+ z[2]) #w[2] = w[1] * x[0] + z[2] x.append(x[i] - (z[3]/w[2])) #x[1] = x[0] - (z[3]/w[2]) t = x[i] -(z[3]/w[2]) print('O novo valor de x encontrado é:') print(x[i+1]) print('O valor da precisão está em:') print(t) i = i+1 k0 = input('Forneça o limitante inferior do intervalo:') kf = input('Forneça o limitante superior do intervalo:') x0 = input('Forneça o valor de x0, multiplicador:') e = input('Forneça a precisão desejada:') x.append(x0) if x0 > kf or x0 < k0: print('Forneça um valor dentro do intervalo fornecido!') k0 = input('Forneça um novo intervalo inferior:') kf = input('Forneça um novo intervalo superior:') else: a = input('Escolha o primeiro elemento do vetor:') b = input('Escolha o segundo elemento do vetor:') d = input('Escolha o terceiro elemento do vetor:') e = input('Escolha o termo independente da equação:') gmax = 3 # o grau maior da equação, quando a equação é de grau menor basta colocar zero como os termos que acompanham x for i in range(1,2): v.append(a) #v[0] v.append(b) #v[1] v.append(d) #v[2] v.append(e) #v[3] a1 = v[0] # o valor da equação que desce, mas se mantem sempre o mesmo while t > e: briot(i,t) print('Obrigado!') O erro que me retorna é este: Traceback (most recent call last): File "testefc.py", line 50, in <module> briot(i,t) File "testefc.py", line 12, in briot z.append((z[0] * x) + v[1]) #z[1] = v[0] * x[0] + v[1] IndexError: list index out of range Acho que o problema está em como eu devo usar este iterador. Agradeço a ajuda de todos, tenham uma boa noite.
  13. Muito obrigado, mas ainda havia um erro no teste de parada. Então bolei outra ideia, e tive de refazer de outra maneira. Apenas a função, que é onde há um erro (for a in range(0,1): ^ SyntaxError: invalid syntax), o qual não imagino a causa. Por favor, me ajudem a resolver este problema. Segue o código: def briot(): z.append(v[0]) z.append(v[0] * x[0] + v[1]) #z[1] = v[0] * x[0] + v[1] z.append(v[1] * x[0] +v[2]) #z[2] = v[1] * x[0] + v[2] z.append(v[2] * x[0] + v[3]) #z[3] = v[2] * x[0] + v[3] w.append(v[0]) #w[0] = v[0] w.append(w[0] * x[0] + z[1]) #w[1] = w[0] * x[0] + z[1] w.append(w[1] * x[0] + z[2]) #w[2] = w[1] * x[0] + z[2] x.append(x[0] - (z[3]/w[2]) #x[1] = x[0] - (z[3]/w[2]) for a in range(0,1): print(x[a]) for a in range(0,3): print(z[a]) print(w[a]) Valeu, tenham uma boa noite!
  14. Bom, consegui resolver este problema, no entanto me ocorreu este: File "novo2.py", line 31 for t > e: ^ SyntaxError: invalid syntax Como eu acredito que o problema seja puramente de formatação, ou de alguma coisa que estou ignorando no python, não me preocupei em explicar o método Briot Ruffini com Newton. Refiz o código, e corrigindo o erro antigo ficou: #!/usr/bin/env python # -*- coding: utf-8 -*- v = [] # função inicial z = [] # função após briot x = [] # multiplicadores i = 0 k0 = input('Forneça o limitante inferior do intervalo:') kf = input('Forneça o limitante superior do intervalo:') x0 = input('Forneça o valor de x0, multiplicador:') e = input('Forneça a precisão desejada:') x.append(x0) briot() if x0 > kf or x0 < k0: print('Forneça um valor dentro do intervalo fornecido!') k0 = input('Forneça um novo intervalo inferior:') kf = input('Forneça um novo intervalo superior:') else: a = input('Escolha o primeiro elemento do vetor:') b = input('Escolha o segundo elemento do vetor:') d = input('Escolha o terceiro elemento do vetor:') e = input('Escolha o termo independente da equação:') gmax = 3 # o grau maior da equação, quando a equação é de grau menor basta colocar zero como os termos que acompanham x for i in range(1,2): v.append(a) v.append(b) v.append(d) v.append(e) a1 = v[0] # o valor da equação que desce, mas se mantem sempre o mesmo def briot(): for t > e: a2 = a1 * x0 + v[1] a3 = a2 * x0 + v[2] a4 = a3 * x0 + v[3] z.append(a2) z.append(a3) z.append(a4) v = [] v.append(a1) # v0 v2 = v[0] * x0 + z[1] v3 = v[1] * x0 + z[2] x[i+1] = x[i-1] - (a[4]/v[3]) print (x[i+1]) teste_parada(x[i-1], x[i+1]) def teste_parada(x[i-1], x[i+1]): t = (x[i+1] - x[i-1]) / x if t < 0: print(-t) else: print(t) Se alguém conseguir me ajudar, serei de imensa gratidão. Valeu. Falou.
  15. Bom, estou precisando criar um programa que use desta ferramenta para calcular uma função de grau 3, inicialmente pretendo grau 3. E usando o método de Newton junto a Briot Ruffini, para conseguir uma precisão melhor com menos tempo, do que usando somente o primeiro. A minha ideia, foi de criar 2 vetores, e zerar um, conforme necessário, para que o outro possa aparecer de novo como uma dependência do primeiro. No programa abaixo, não apareceu nenhum erro que eu não conseguisse removê-lo, exceto um que ocorreu na primeira linha após: def briot(): (após o, por enquanto, comentário). Outra coisa, eu posso criar uma função que dependa de uma outra função? Como no comentário? Aí galera, muito obrigado pela ajuda, quem puder me dizer onde está o erro em meu código, ou de alguma forma ajudar, eu agradeço desde já. Assim que conseguir, dou um feedback. Boa noite. #!/usr/bin/env python # -*- coding: utf-8 -*- v = [] # função inicial z = [] # função após briot x = [] # multiplicadores i = 0 k0 = input('Forneça o limitante inferior do intervalo:') kf = input('Forneça o limitante superior do intervalo:') x0 = input('Forneça o valor de x0, multiplicador:') e = input('Forneça a precisão desejada:') x.append(x0) if x0 > kf or x0 < k0: print('Forneça um valor dentro do intervalo fornecido!') k0 = input('Forneça um novo intervalo inferior:') kf = input('Forneça um novo intervalo superior:') else: a = input('Escolha o primeiro elemento do vetor:') b = input('Escolha o segundo elemento do vetor:') d = input('Escolha o terceiro elemento do vetor:') e = input('Escolha o termo independente da equação:') gmax = 3 # o grau maior da equação, quando a equação é de grau menor basta colocar zero como os termos que acompanham x for i in range(1,2): v.append(a) v.append(b) v.append(d) v.append(e) a1 = v[0] # o valor da equação que desce, mas se mantem sempre o mesmo def briot(): #While t > e a2 = a1 * x0 + v[1] a3 = a2 * x0 + v[2] a4 = a3 * x0 + v[3] z.append(a2) z.append(a3) z.append(a4) v = [] v.append(a1) # v0 v2 = v[0] * x0 + z[1] v3 = v[1] * x0 + z[2] x[i+1] = x[i-1] - (a[4]/v[3]) print (x[i+1]) briot() #def teste_parada():
  16. Bom, antes de mais nada, sou novo em estudos sobre banco de dados, atualmente ando lendo, quando me reserva tempo, sobre SQL. Basicamente, vi os tipos de valores (de colunas, ser varchar, text...) e os comandos básicos: Criar tabela, atualizar, inserir valores... No entanto, não sei se ainda não avancei o bastante para, ou se estou realmente confuso quanto ao modo como a lógica do SQL funciona. Eu tento integrá-lo ao python, então por exemplo: eu crio a tabela: def criar_tabela(): c.execute("""CREATE TABLE IF NOT EXISTS banco (n TEXT,q TEXT,v TEXT,e TEXT)""") def inserir(): c.execute("INSERT INTO banco (n,a,s,p) VALUES (?,?,?,?)",(n,a,s,p)) connection.commit() criar_tabela() n = str(input('Digite um nome: ')) q = str(input('Digite a quantidade: ')) v = str(input('Digite a data de vencimento: ')) e = str(input('Digite a data de entrada: ')) inserir() Até aqui consigo compreender perfeitamente o que estou fazendo (como fiz uma mudança no código original, talvez haja uma falha na string "q = str(input('Digite a quantidade: '))" ). Mas enfim, se eu pretendo entrar com nome - Maçã, e quantidade - 5, eu consigo fazer isto sem o menor problema, os valores ficarão guardados. Mas se eu quero remover 2 Maçãs, isto é, não eliminar a coluna da maçã, apenas mexer em sua quantidade. Quero dizer, inserir ou remover valores a tabela eu consigo, mas não fazer qualquer tipo de operação matemática. Tenho esta dúvida, não sei se a lógica é realmente esta. Alguém me salva dessa dúvida, se pelo menos a lógica está correta? Bem, muito obrigado pela ajuda, tenham uma boa noite.
  17. Boa noite. Como estou lendo sobre o assunto, banco de dados, e em seguida tentando aplicar o que leio, me surgiu uma questão. De início, fiquei rodando bastantes programas, os que deram certo pelo menos, que faziam conexão com banco de dados sqlite3, criava tabela, inseria valores, porém o banco de dados era local. Ou seja, tinha o arquivo.db no meu computador, um programa criado no mesmo pelo python manipulava este arquivo, apesar de não tê-lo testado em rede, acredito que com as devidas alterações isto de fato seria possível: o programa acessar o banco em rede. Recentemente li sobre MySql, e vi que, se eu não estiver enganado, que está é uma forma de banco de dados própria para funcionar online, ou seja, tem um servidor online por trás disso, o que também requer usuário e senha. A pergunta então é, como eu experimentei um pouco o 000webhost, e também o freemysqlhosting, se quando eu entro para criar um banco de dados, ou apenas acessá-lo eu preciso entrar no Cpanel ou no PhpAdmin (posso estar escrevendo besteira, pois não me recordo muito bem de seus nomes) para então fazer manualmente as manipulações, um programa python criado para fazer as tais manipulações(criar tabela, inserir linhas, valores etc) devidamente conectado ao banco MySql irá fazer isto sem que eu entre no Cpanel ou no PhpAdmin? Espero ter sido claro, de qualquer forma tentarei expressar melhor minha dúvida, assim como quando eu colocar isto em prática. Muito obrigado desde já, tenham uma boa noite.
  18. Aqui vai um esboço do que você vai ter de fazer, fiz rapidinho pois estou com sono, e acabei de ver sua postagem quando passei por aqui. Vamos lá, eu não comentei linha nenhuma print('Informe seu salario:') s = input() g = s * 1.38 print(g) S - salário bruto inicial; g - salário mais o acréscimo de 38%; print(g) - imprimir o salário final. Com o mesmo raciocínio você remove ao salário inicial s, ou o salário com o acréscimo g. Lembre-se que é muito mais fácil, e rápido, você multiplicar um valor pelo acréscimo de 100% e mais o que você deseja, do que fazer várias contas. Exemplo: acrescentar a x, 38%, é o mesmo que multiplicar x por 1.38, pois é 100% + 38% Espero ter ajudado em alguma coisa, precisar de ajuda, tamo aí. Falou.
  19. # -*- coding: utf-8 -*- import sqlite3 conectar = sqlite3.connect('teste.db') c = conectar.cursor() def criar_db(): c.execute("""CREATE TABLE IF NOT EXISTS testando(sexo text, nome text)""") def inserir(sexo,nome): c.execute('INSERT INTO teste VALUES(?,?)', (sexo, nome)) conectar.commit() fc = int(input('1- Inserir valores no banco de dados\n2 - Criar banco de dados\nO que você deseja fazer?: ')) if fc == 1: try: print('Inserir valores') sexo = str(input('Informe o sexo: ')) nome = str(input('Informe o seu nome: ')) inserir(sexo, nome) except: print('Erro ao inserir valores!') else: print('Valores inseridos com sucesso!') elif fc == 2: try: criar_db() except: print('Erro ao criar banco de dados!') else: print('Banco de dados criado com sucesso!') Então, o problema ainda persiste, não sei se o que eu disse quanto as aspas triplas procede, tendo ciência de que há diferença entre o python2 e o python3, talvez isso responda a esse formalismo diferente. Mas após responder o nome, o programa trava; mudei os tipos de dados para text, achando que pudesse ser o problema, mas até agora nada. Valeu galera, boa noite.
  20. mas eu ainda estou refazendo, acho que tem mais erros fora do banco de dados.
  21. O erro que eu estava cometendo do banco de dados, esqueci de comentar acima, é da maneira como eu escrevi os comando SQL: c.execute('CREATE TABLE IF NOT EXISTS testando(sexo char, nome varchar)') ; na verdade necessita de aspas tripla, ficando: c.execute("""CREATE TABLE IF NOT EXISTS testando(sexo char, nome varchar)""") ^mais uma desatenção.
  22. Boa noite carinha, muito obrigado pela ajuda, valeu mesmo. Eu vi outros erros, de certa forma fiz uma revisão mais atenta. Então, quanto ao banco de dados, o que estou usando é o sqlite3, que já está incluso no python3, bastando apenas importar a biblioteca "sqlite3". Bom, pelo que eu ando lendo, o processo é o mesmo para qualquer banco de dados. Resumidamente os processos são: Conectar(estabelece uma conexão com seu banco de dados) - Criar(você necessita criar um cursor para se comunicar através da conexão com os dados) - Interagir(O uso do cursor permite a manipulação dos dados usando SQL) - Commit(basicamente salva todas as mudanças, tornando-as permanentes) - Reverter(como eu não usei ainda, não sei muito sobre, apenas que ele retorna os valores dos dados SQL ao estado anterior, abortando as manipulações) - Fechar (fecha a conexão com o banco de dados). Em resumo, depois que você importa sqlite3, precisa se conectar com o banco, daí : conectar = sqlite3.connect('teste.db') c = conectar.cursor() Qualquer ação que for feita, deve ser feita com o cursor, tanto a criação da tabela como a inserção ou remoção de valores: c.execute('CREATE TABLE IF NOT EXISTS testando(sexo char, nome varchar)') e c.execute('INSERT INTO teste (sexo, nome) VALUES (?,?)', (sexo, nome)) a linha: conectar.commit() ; permite que qualquer mudança feita seja salva, sem ele, assim que o programa é fechada, os valores inseridos ou removidos, assim como qualquer mudança no banco de dados, é perdido. conectar.close() ; encerra a conexão com o banco de dados. Quanto aos tipos de dados, aqueles nomes que acompanham as colunas (no caso sexo e nome), CHAR: não vejo muita diferença com VARCHAR , além do espaço requirido, e para tamanho fixo é mais usado CHAR. Me desculpe pela confusão, não li muito sobre SQL ainda, então ainda estou testando as coisas. Fonte: Use a Cabeça Python e Use a Cabeça SQL Então cara, espero que tenha entendido, ou que de alguma forma tenha sido útil pra alguém. Eu estou estudando banco de dados em python nas minhas horas vagas (que não são muitas, por cursar faculdade em período integral), mas de vagar a coisa vai fluindo. Agradeço a ajuda de todos, falou!
  23. # -*- coding: utf-8 -*- import sqlite3, time conectar = sqlite3.connect('teste.db') c = conectar.cursor() def criar_db(): c.execute('CREATE TABLE IF NOT EXISTS testando(sexo char, nome varchar)') def inserir(sexo,nome): c.execute('INSERT INTO teste (sexo, nome) VALUES (?,?)', (sexo, nome)) conectar.commit() fc = int(input('1- Entrar com valores\n2 - Criar o banco de dados\nO que você deseja fazer?: ') if fc == 1: try: print('Inserir valores') sexo = str(input('Informe o sexo: ') nome = str(input('Informe o seu nome: ') time.sleep(2) inserir(sexo,nome) except: print('Erro ao inserir valores!') else: print('Valores inseridos com sucesso!') elif fc == 2: try: criar_db() except: print('Erro ao criar banco de dados!') else: print('Banco de dados criado com sucesso!')
  24. clico lá em cima, o código fica bonitinho como tá no editor, mas na hora em que eu respondo, ele volta ao normal, sem formatação.
×
×
  • Criar Novo...