Ir para conteúdo
Fórum Script Brasil

ArteEN

Membros
  • Total de itens

    678
  • Registro em

  • Última visita

Tudo que ArteEN postou

  1. 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:
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. Desculpa pela postagem dupla, pensei que a mensagem não tinha sido enviada
  9. 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])
  10. 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
  11. O cabeçalho da função esta pedindo um char e você esta passando um char* Corrigindo isso você terá um problema de comparação, nisso não vou poder ajudar, ainda não estudei a parte de struct
  12. você deve tratar a saida do input, caso não seja o que você espera, devem pedir novamente a entrada você faz isso com while, if/else
  13. Certo, acho que compreendi Na linha 40: Pegou um objeto do array v para k Na linha 42: Chega a operação binaria do while v[j].codigo > k você esta comparando um int > tp_tab_2 você deve comparar int > int
  14. Na linha 40: Acusa tipos incompatíveis k = v; k é do tipo tp_tab_1 e v é do tipo tp_tab2 Linha 42: Acusa tipo incompatível para o argumento 2 Esta esperando um const char, mas esta recebendo um tp_tab2 Isso é para as acusações de erro do isort strcmp é uma função para strigns, v[j].codigo é um int
  15. #define PI 3.14 float raio, altura; double volume; scanf("%f", &raio); scanf("%f", &altura); volume = PI * raio * 2 * altura printf("%f", volume); Demais estruturas e validações são por sua conta
  16. Seu código esta bem bagunçado Este calculo pode ser resolvido de forma bem simples No seu código: Linha 5: #define pi 3.141592 Esta comentado, não terá efeito no programa, eu tiraria esta linha do comentário para ser usada Linha 9: Se você usar a constante simbólica não irá precisar declarar pi Linha 11: Neste momento no programa você esta usando lixo de memoria para raio e altura, é um calculo desnecessário neste momento. Linha 13: não é necessário declarar inteiros para o calculo Linha 21 a 32: São linhas sem sentido para o programa (usar um inteiro para validar o volume) Demais linhas: A apresentação do resultado tambem esta incompleta Minhas sugestões: Crie a constante simbólica PI Declare float raio, altura Declare double volume Peça a entrada do raio e altura Faça o calcule do volume Exiba o resultado
  17. ArteEN

    Efetuando a expressão

    Fiz um código aqui, comecei a estudar c a pouco tempo #include <stdio.h> int main() { int numeroqualquer, i = 0; float s = 0; puts("Digite um valor inteiro positivo:"); scanf("%d", &numeroqualquer); while(numeroqualquer < 1) { puts("\nErro na entrada do valor\n\nEntre um valor inteiro positivo"); fflush(stdin); scanf("%d", &numeroqualquer); } while(i++ < numeroqualquer) s += 1.0 / i; printf ("\n----------------------------------------------------"); printf("\n------------------- RESULTADO ----------------------\n"); printf("\nResultado Final: %.6f", s); printf ("\n\n----------------------------------------------------"); return 0; }
  18. Ola. A parte do if na linha 6 e 7 é para arredondar o numero de latas. litros_necessarios = 24.3 total_gal_18 = litros_necessarios // 18 # 1 galão de 18 litros resto = litros_necessarios % 18 # resta 6.3 litros para serem convertidos em latas total_latas_3 = resto / 3 # retorna 2.1 latas # .1 na verdade são .3 litros if total_latas_3 > int(total_latas_3): # conversão para int desconsidera o quebrado, então 2.1 > 2 total_latas_3 = int(total_latas_3) + 1 #acrescenta mais uma lata para cobrir os .3 litros que falta para a pintura Ainda sim, isso ainda tem que ser refinado. Eu fiz o codigo ao meu estilo, claro ainda da para melhorar em algumas declarações mas não se assuste, ainda estou aprendendo . ## sep = "-" * 30 # separador para o print ##Recipientes e seus valores latas_l = 3 #latas de tinta de tres litros e seu valor latas_v = 25 galao_l = 18 #galões de tinta de 18 litros e seu valor galao_v = 80 tinta_r = 6 #rendimento da tinta, 1 litro para 6 metros ##Definindo area metros = float(input("Entre com a area: ")) #pega a area total em float area = metros * 1.1 #acrescimo de 10 % area_i = int(area) #convertendo para int desconsidera o quebrado area_r = area - area_i #pegamos o resto da area area_total = area_i if area_r == 0 else area_i + 1 #ternario para arredondar o valor print("\n{}\nArea inicial: {:.2f} metros\nArea acrescida em 10%: {:.2f} metros\nArea final: {:.2f} metros\n\n{}".format(sep, metros, area, area_total, sep)) ##Definindo litros a usar litros_i = area_total // tinta_r #litros nessessarios litros_f = area_total % tinta_r #sobra litros_final = litros_i if litros_f == 0 else litros_i + 1 #ternario para arrendodar o valor print("Litros nessessarios: {}lt\n\n{}".format(litros_final, sep)) ##Calcular galões e latas galao_1 = litros_final // galao_l #galões de 18 litros galao_2 = litros_final % galao_l #sobra galao_3 = galao_1 + 1 if galao_2 > 0 else galao_1 #arredonda o numero de galões latas_1 = litros_final // latas_l #latas de 3 litros latas_2 = litros_final % latas_l #sobra latas_3 = latas_1 + 1 if latas_2 > 0 else latas_1 #arredonda o numero de latas ##Calcular valores #apenas latas latas_lt = latas_3 * latas_l #total de litros latas_ls = latas_lt - litros_final #litros a mais latas_vt = latas_3 * latas_v #valor total print("Valor calculado sobre latas de {}lt\nNº de latas: {}\nTotal em litros: {}lt\nSobra: {}lt\nValor: {:.2f}R$\n\n{}".format(latas_l, latas_3, latas_lt, latas_ls, latas_vt, sep)) #apenas galões galao_lt = galao_3 * galao_l #total de litros galao_ls = galao_lt - litros_final #litros a mais galao_vt = galao_3 * galao_v # valor total print("Valor calculado sobre galões de {}lt\nNº de galões: {}\nTotal em litros: {}lt\nSobra: {}lt\nValor: {:.2f}R$\n\n{}".format(galao_l, galao_3, galao_lt, galao_ls, galao_vt, sep)) #mesclando galões e latas latas_4 = galao_2 / 3 #calcular latas a partir do resto de galões latas_5 = int(latas_4) + 1 if latas_4 > int(latas_4) else int(latas_4) #arredondar latas valor_3 = galao_1 * galao_v #valor de galões valor_4 = latas_5 * latas_v #valor de latas valor_5 = valor_3 + valor_4 #soma final litros_t = galao_1 * galao_l + latas_5 * latas_l #soma de litros entre galão e latas sobra = litros_t - litros_final print("Valor calculado sobre galões de {}lt e latas de {}lt\nNº de galões: {}\nNº de latas: {}\nTotal em litros: {}lt\nSobra: {}lt\nValor: {:.2f}R$".format(galao_l, latas_l, galao_1, latas_5, litros_t, sobra, valor_5))
  19. Eu fiz um pequena confusão você diz latas de 18 litros, eu digo galão de 18 litros , isso me confundiu nas variaveis Então vamos a logica para o calculo da etapa 3. Recipiente de 18 litros é mais barato. então começamos o calculo por ele e depois a parte mais demorada é calcular o restante em latas total_gal_18 = litros_necessários // 18 resto = litros_necessários % 18 total_latas_3 = resto / 3 if total_latas_3 > int(total_latas_3): total_latas_3 = int(total_latas_3) + 1 Então você tem o total de em recipientes de 18 litros: total_gal_18 O necessário em recipientes de 3 litros: total_latas_3 Basta calcular o valor.
  20. Ola vamos tentar no passo a passo dos resultados: print("2)") latas = total//18 # Recebe 0 caso o total seja 12 ? Sim recebe zero # vc pode fazer o teste no console interativo if total % 18 > 0: # no console 12 % 18 é 12 então 12 > 0? Sim então latas vai para 1 latas += 1 #total vai continuar 12 pois ñ tem comandos para alterar Na parte 3 tem alguns pontos a corrigir print("\n3) Misturar latas e galões, de forma que o preço seja o menor.") latas = total//18 #Aqui vc tem o numero de galões ñ de latas galoes = 0 #Ñ nessessario, na teoria a linha passada ja deu o numero de galões litros_restantes = total % 18 #isso vc retira um galão do total de litros, oq acontece se vc precisar de 100 litros? Comprar 28 latas? print() print("#################### latas atual",latas) # galões, ñ latas print("#################### litros restantes atual",litros_restantes) print() if litros_restantes <= 3: #Ou seja, o numero de galões necessários seja menor do que três. galoes = litros_restantes // 3 if litros_restantes % 3 > 0: galoes += 1 else: latas += 1 print("#################### galoes atual",galoes) print("#################### litros restantes atual",litros_restantes) print ("Serão necessárias:", latas, "lata(s)") print ("Serão necessários:", galoes, "galão(s)") print ("Obteremos:", latas*18 + galoes*3, "litros") print ("Total: R$", galoes*25 + latas*80) O if da parte 3 você deve arrumar para trabalhar em cima das latas. Tem comentários no código a cima apontando algumas correções
  21. ArteEN

    dúvidas em classe

    Pode ser que a função tenha mais sentido fora da classe do que dentro, um exemplo seria uma função para retornar um relatório de estados dos objetos. Duas ou mais classes em um arquivo .py pode significar que o programa seja simples o suficiente para usar apenas um arquivo Ou as duas classes tem alguma relação entre si e deixar as duas juntas pode facilitar nas edições futuras
  22. TypeError: not callable Ocorre quando você tenta usar um objeto como função, sendo que este objeto não é uma função a = 1 a() TypeError: 'int' object is not callable def a(arg): print(arg) a('uma função é um objeto executável') 'uma função é um objeto executável' 'module' não é callable, significa que o modulo não é executável, como é um modulo você deve estar executando ele de forma errada ou incompleta, talvez na intenção de chamar um método Então você tem que procurar no seu código a parte de criação do Controle_Personagens(), e ver se ele foi criado devidamente
  23. Bom, se você notar, quando mover a parte de baixo da matriz estará juntando o fim da primeira fila, com o inicio da segunda, isso se repete pelo numero de filas totais da matriz menos 1, então você joga essa ideia em um for
  24. Bom camarada, o problema que vejo é a na forma que o toupper() esta sendo feito. Veja a logica que acontece com a variável char sexo desdo inicio do programa e me diga o valor que ela ira chegar no if da gratificação por tempo de trabalho Não seria melhor trocar a estrutura if/else if por um Switch?
×
×
  • Criar Novo...