Ir para conteúdo
Fórum Script Brasil

ArteEN

Membros
  • Total de itens

    693
  • Registro em

  • Última visita

Tudo que ArteEN postou

  1. http://defpython.blogspot.com.br/2007/01/manipulando-arquivos_09.html http://programeempython.blog.br/blog/manipulando-arquivos-com-python/ depois de ler as informações do arquivo você deve jogar elas no comando do SQL. Caso tenha dificuldade com as strings você pode ver como se concatena ou o método .format
  2. É bastante fácil editar string vindas de arquivos de texto, a meu ver o maior desafio é conectar ao banco de dados, antes de tudo você deve procurar se a conexão é possível strings = "||0123||FULANO JOSE DOS SANTOS||28||RJ||RIO DE JANEIRO||" lista_de_strings = strings.split("||")
  3. ArteEN

    Repetidos em uma string

    O jeito rápido e fácil é transformar a tupla em um set coluna = set(coluna) coluna = tuple(coluna) # coluna = list(coluna)Na sequencia você deve transformar de volta para tupla ou em uma lista para poder inteirar
  4. ArteEN

    SSH Telnet Python

    Esta usando alguma biblioteca de gui?
  5. Faça um help(input) Isso te mostrara: input([prompt]) -> string Então nem no Help e nem na documentação mostra argumentos opcionais para a função input, então com input não será possivel fazer o que você pretende Eu também não sei de uma alternativa a isso
  6. Talvez usando all() e any() as condições fiquem mais fáceis de visualizar Fora isso o código esta bom, e usar estas duas funções não vai alterar o resultado do programa
  7. Ola Sabe quais as diferenças entre C e Python? Alem de que uma é interpretada e a outra é compilada Sabe dos esquemas de endentação? Bom se você consegue fazer este programa em C vai conseguir em Python, é apenas questão de sintaxe e usar a função correta Para pegar uma valor do teclado use: var = input("Mensagem") A função input faz um print, se você quiser exibir uma mensagem antes da entrada de valor O valor de retorno desta função é uma String, o cast em Python é diferente do habitual em C: var = int(Objeto a ser transformado em int) var = float(Objeto a ser transformado em float) O resto é if/else, lembre-se que Python é endentado, e não usa {} para definir blocos Funções e variáveis não precisão ter o tipo declarado
  8. Ola Sua logica sempre vai retornar 2 ou None Se logo no inicio dado1 for igual a dado2 a função acaba sem entrar no loop while Caso seja diferente, a função vai rodar uma unica vez o loop, e no final vai encontrar um return finalizando a função Faça do while um loop infinito, e coloque uma condição if dentro dele para terminar a função caso dado1 e dado2 sejam iguais
  9. ArteEN

    Dúvida Batalha Naval

    Eu acho que só falta criar os turnos dos jogadores Para isso você primeiro vai precisar definir quais são os requisitos do fim da partida, e vai executar os turnos ate alcançar estes requisitos Basicamente é criar uma função de loop que engloba todas ou quase todas as funções que você já tem, e as repete ate se obter uma vitoria, encerrando assim o loop
  10. list.append() coloca um objeto na lista list.extend() estende a lista acrescentando objetos de um inteirador a, b = [], [] c = [1, 2, 3] a.append(c) b.extend(c) len(a) 1 len(b) 3
  11. Ate gostaria de ajudar, mas nem sei como você programou, e muito menos os erros que estão dando
  12. IndexError: list index out of range Significa foi usado um index maior do que o comprimento da lista, ex: lista = [0, 1] len(lista) 2 lista[2] IndexError: list index out of range
  13. Isso mesmo, só ver a logica que acontece. É pedido um numero e armazenado em num Depois verifica a condição do loop Se falso, termina o script Se verdadeiro, imprime o resultado da função com num como parâmetro, ate o loop ser concluído, mas como num não esta sendo pedido novamente, o loop se torna infinito, e executa a função como o mesmo valor Deixo aqui um simples algorítimo para seu problema, o único mal é que ele entra diretamente em laço infinito, fica ai então uma coisa para você pesquisar enquanto verdadeiro: entre num se num 'maior ou igual' 0 e num 'menor igual' 1000000: rodar função e exibir o resultado
  14. Ola O problema esta na comparação or. Vamos traduzir para ficar facil ver o porque: Enquanto num ''maior ou igual'' 0 ou num ''menor ou igual'' 1000000 Então 100000000000...... é maior do que zero, já temos uma verdade pois ou é um ou outro, precisamos de uma verdade apenas. Troque or por and: Enquanto num ''maior ou igual'' 0 e num ''menor ou igual'' 1000000 Precisamos de duas verdades
  15. O erro esta uma linha antes, falta fechar os parenteses do append
  16. Ola O erro esta na forma que esta usando o loop for, este loop em python serve para inteirar : Troque o for por while: while t > e:
  17. Ola novamente Lembrei que pode haver uma outra forma, que é mudando o hue da imagem Se o quadriculado for simples de duas cores, você duplica a imagem, muda o hue ate a segunda cor coincidir com a primeira, e usa mascara para mesclar. Se o quadriculado for mais complexo com detalhes em mais de 3 cores, você deve fazer o mesmo processo duplicando a imagem para cada cor, e usar mascaras no final
  18. Bom camarada, não uso photoshop, então não conheço as ferramentas mas sou um artista 3d e uso gimp, então vou dizer um processo genérico e o resultado vai depender unicamente de sua habilidade Separar luz e sombra, isso vai ser muito difícil de fazer é onde sua habilidade vai falar mais alto, pois é um terno quadriculado a luz e sombra deve ser uniforme, é onde você vai fazer inúmeras copias da imagem(4 no minimo), dessaturar, inverter, corrigir tons e e mesclar Esse é um processo feito no 3d, em uma imagem já computada, é um pouco diferente, mas é oque consigo pensar no momento Espero que alguém mais conhecido do photoshop possa dar sua opnião
  19. A segunda função busca por um valor em uma lista, e tem três tipos de retorno def f(l,x,q): if l==[]: return l h = f(l[1:] ,x,not q) if l[0]==x and q: return h return l[:1]+h Linha 1 >>> l = lista, x = valor, q = booleano Linha 2 >>> retorna l, se o mesmo for igual a uma lista vazia Linha 3 >>> em h é colocado o retorno da chamada recursiva onde l é passada excluindo o primeiro índice, q é invertido Linha 4 >>> consulta se o índice zero tem o valor x e q seja verdadeiro, retorna h Linha 5 >>> retorna uma lista com o primeiro valor de l e o resultado da chamada recursiva gardada em h
  20. Ola Na linha 11 a função pede mais um argumento passwd Não fui mais a fundo no codigo pois não tenho conta no twitter
  21. Ola Linha 20, você faz um scanf de um inteiro, e quando chega no switch você tenta compara um inteiro com char logo nenhum dos case vão ser verdadeiros consequentemente sua variável contadora nunca vai ser incrementada
  22. Ola camarada, eu copiei o código e tive vários erros por causa do fechamento das chaves. Então eu passei o seu código a limpo e fechando as chaves na ordem que achei correto. void addShip(int size, char ship, char arg[9][9]) { int coord1, coord2, row, col, optCoord, m1, m2; char pos; cout << "Entre uma linha 0 - 8" << endl; cin >> row; cout << "Entre uma coluna 0 - 8" << endl; cin >> col; cout << "Selecione uma posição V/H" << endl; cin >> pos; if (pos == 'H' || pos == 'h') { coord1 = col - (size - 1); coord2 = col + (size - 1); m1 = 0 + (size - 1); m2 = 9 - (size - 1); } if (col >= m1 && col <= m2) { cout << "Selecione uma opção" << endl; cout << "1: [" << row << ", " << coord1 << "]" << endl; cout << "2: [" << row << ", " << coord2 << "]" << endl; cin >> optCoord; } if (optCoord == 1) { for (int i = coord1; i <= col; i++) arg[row][i] = ship; } else { for (int i = col; i <= coord2; i++) arg[row][i] = ship; } } Mudei o nome de algumas variáveis apenas para ir mais rápido, a logica do código esta inalterada(entre aspas eu tirei a variável bool e uma outra que não estava sendo usada), e funciona como esperado
  23. Desculpa pela postagem dupla, pensei que a mensagem não tinha sido enviada
  24. Falta uma virgula na linha 11 Linha 12 te falta um : Linha 8, ate este momento i não foi declarado Linha 11 ** não funciona com tuplas Fazendo estas correções o código funciona Como te um tupla na linha 11 eu não sei qual a expressão correta, então por conta cheguei em dois resultado usando + ou - ([1, 1], [1, 5]) ([3, 3], [1, 5])
  25. A função palavras retorna uma lista vazia apenas se s for uma string vazia, em qualquer outro caso retorna um NoneType isso gera um erro na linha 25, onde um for tenta inteirar um NoneType Se a função palavras retornar l ou s a função maior_palavra ainda não vai conseguir achar a palavra maior Faça um dir(""), vai ver muitas funções de tratamento de string vai te poupar muito esforço
×
×
  • Criar Novo...