E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90
Python ::: wxPython ::: Eventos e Tratadores de Eventos

Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no Python

Quantidade de visualizações: 197 vezes
Nesta dica mostrarei como podemos tratar o evento wx.PaintEvent em suas aplicações wxPython. Este evento é disparado todas as vezes que uma janela é redesenhada, ou seja, quando fazemos o redimensionamento da janela ou a maximizamos.

Veja o código completo para uma aplicação wxPython na qual interceptamos o evento wx.PaintEvent para exibir a hora atual na janela, usando a função dc.DrawText(). Note o uso da função strftime() para formatar o conteúdo de um objeto datetime.

# vamos importar o framework wxPython 
import wx
# mais alguns imports necessários
from datetime import datetime
import locale

# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
  # o método construtor
  def __init__(self, *args, **kw):
    # chama o construtor da classe wx.Frame
    super(JanelaPrincipal, self).__init__(*args, **kw)

    # Configurações do usuário
    locale.setlocale(locale.LC_ALL, '')

    # chama a função que inicializa a GUI
    self.InicializarGUI()

  # método usado para gerenciar o evento OnPaint
  def OnPaint(self, e):
    # Obtém um datetime da data e hora atual
    hoje = datetime.today()
    
    # vamos obter o contexto de desenho
    dc = wx.PaintDC(self)
    texto = "Evento OnPaint gerado às: {0}".format(
      hoje.strftime("%X"))
    dc.DrawText(texto, 20, 20)

  # função que inicializa a GUI do programa
  def InicializarGUI(self):
    self.Bind(wx.EVT_PAINT, self.OnPaint)
    
    # definimos o tamanho da janela
    self.SetSize((450, 350))
    # define a cor de fundo da janela (Windows 10)
    self.SetBackgroundColour(wx.WHITE)
    # definimos o título da janela
    self.SetTitle('O evento OnPaint')
    # e centralizamos a janela
    self.Centre()

# função principal do programa Python
def main():
  # vamos criar a aplicação wxPython
  app = wx.App()
  janela_principal = JanelaPrincipal(None)
  janela_principal.Show()
  app.MainLoop()

if __name__ == "__main__":
  main()



Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame

Como acessar uma linha específica em um DataFrame do Pandas da linguagem Python usando o método iloc()

Quantidade de visualizações: 11243 vezes
Em várias situações nós precisamos investigar o conteúdo de uma determinada linha, ou seja, um registro específico contido em um DataFrame do Pandas. Para isso podemos usar o método iloc() do objeto DataFrame.

Este método recebe um valor inteiro representando o índice da linha a ser retornada. É possível também fornecer uma list contendo vários índices, e até mesmo intervalos, mas isso é assunto para outras dicas. O retorno do método é uma Series ou um DataFrame, dependendo dos parâmetros usados.

Vamos ver um exemplo? Analise o código a seguir:

# importamos a biblioteca Pandas
import pandas as pd
 
def main():
  # vamos carregar os dados do arquivo .csv
  dados = pd.read_csv("emprestimos.csv",
   delimiter=";")
 
  # vamos mostrar o DataFrame resultante
  print(dados)

  # agora vamos mostrar o conteúdo da terceira linha
  linha = dados.iloc[2]
 
  # mostramos o conteúdo da terceira linha
  print("\nConteúdo da terceira linha:\n")
  print(linha)

if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

    id         nome  idade sexo  renda  valor  parc  pont ap
0    1    HELENA508     39    F   6500   8000     6    87  S
1    2   JESSICA631     65    F   3000    500    48     2  N
2    3    FELIPE768     39    M  10200  20000    24    40  S
3    4    AMANDA515     90    F    800   1500    30    87  N
4    5     LAURA312     61    F   1800  15000    50     8  N
5    6    CARLOS291     84    M    970  11000     6    59  N
6    7    CARLOS859     64    F    970    500    12     1  N

Conteúdo da terceira linha:

id               3
nome     FELIPE768
idade           39
sexo             M
renda        10200
valor        20000
parc            24
pont            40
ap               S
Name: 2, dtype: object


Veja que o conteúdo da linha é exibido na vertical. Se quisermos exibí-lo na horizontal, basta passarmos o índice da linha como uma list. Veja:

# agora vamos mostrar o conteúdo da terceira linha
linha = dados.iloc[[2]]

Agora o resultado será:

Conteúdo da terceira linha:

   id       nome  idade sexo  renda  valor  parc  pont ap
2   3  FELIPE768     39    M  10200  20000    24    40  S


Para testarmos se o retorno do método iloc() foi mesmo uma Series, basta usarmos a função type() do Python:

# vamos checar o retorno do método iloc()
linha = dados.iloc[[2]]
print("Tipo do retorno:", type(linha))

Este código exibirá um resultado parecido com:

Tipo do retorno: <class 'pandas.core.frame.DataFrame'>


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar a quantidade de elementos em um array PHP usando a função sizeof()

Quantidade de visualizações: 17403 vezes
Em várias ocasiões nós precisamos retornar o tamanho de um vetor em PHP, ou seja, a quantidade de elementos do array. Para isso nós podemos usar a função sizeof().

Veja a seguir um exemplo de seu uso:

<?php
/*
  Este exemplo mostra como obter a quantidade de
  elementos em um array usando sizeof().
*/

$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
$pessoas[4] = "Amélia";

$tam = sizeof($pessoas);

echo "O array contém " . $tam . " elementos.";
?>

Ao executar este código PHP nós teremos o seguinte resultado:

O array contém 5 elementos.


Java ::: Fundamentos da Linguagem ::: Modificadores

Como usar o modificador synchronized da linguagem Java

Quantidade de visualizações: 24045 vezes
O modificador synchronized tem seu uso e importância destacados quando várias threads (fluxos de execução) estão sendo executadas em um programa. Tais threads podem tentar acessar métodos de uma ou mais classes ao mesmo tempo. No entanto, pode ser necessário planejarmos o sistema de forma que determinados métodos possam ser acessados por somente uma thread de cada vez, talvez para garantir a integridade de valores das diversas variáveis envolvidas no processo. É aqui que o modificador synchronized é usado.

Ao marcarmos um método como synchronized, o sistema de execução Java garantirá que apenas uma thread de cada vez acesse tal método. Se outras threads tentarem fazer o mesmo, elas serão colocadas em espera até que a thread atual finalize seu trabalho e libere o método.

Um exemplo de aplicação do modificador synchronized pode ser visto em uma classe Pilha. Como sabemos, esta estrutura de dados possui métodos para inserir um novo item no topo da pilha e para removê-lo do topo (lembra? LIFO: Last In First Out). Ora, para evitar que uma thread remova o elemento do topo ao mesmo tempo em que outra está tentando inserir, tais métodos devem ser marcados como synchronized. Isso evitará que os dados sejam corrompidos.


C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles

Quantidade de visualizações: 669 vezes
Pergunta/Tarefa:

Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número.

Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer.

Sua saída deverá ser parecida com:

Informe o primeiro número inteiro: 6
Informe o segundo número inteiro: 3
O maior número é: 6
Resposta/Solução:

Veja a resolução comentada deste exercício em C:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// protótipo da função que receberá dois números inteiros
// e retornará o maior deles
int maior_numero(int num1, int num2);

// função principal do programa
int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português 
  
  // variáveis usadas na resolução do problema
  int num1, num2, maior;
  
  // vamos pedir para o usuário informar os dois números
  printf("Informe o primeiro número inteiro: ");
  scanf("%d", &num1);
  printf("Informe o segundo número inteiro: ");
  scanf("%d", &num2);
  
  // os números são iguais?
  if(num1 == num2){
    printf("Erro. Os dois números são iguais.");
  }
  else{
    // vamos chamar a função para obter o número maior
    maior = maior_numero(num1, num2);
    printf("O maior número é: %d", maior);	
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

// função que receberá dois números inteiros e retornará
// o maior deles
int maior_numero(int num1, int num2){
  // o primeiro número é maior que o segundo?
  if(num1 > num2){
    return num1;
  }
  else{
    return num2;
  }
}



Python ::: Fundamentos da Linguagem ::: Passos Iniciais

Python para iniciantes - Como importar módulos e identificadores Python usando a instrução import...as

Quantidade de visualizações: 7891 vezes
Quando importamos módulos para nossos programas, a linguagem Python permite que alteremos os nomes dos módulos. Isso pode ser feito com a instrução import...as. Veja:

# importa o módulo math com outro nome
import math as matematica

def main():
  # usa o método ceil do namespace matematica
  print("Valor arredondado: ", matematica.ceil(8.12))

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Valor arredondado: 9

É possível importar com outros nomes os métodos e identificadores de um módulo. Veja:

# importa o ceil com outro nome
from math import ceil as arredondar

def main():
  # usa o método arredondar
  print("Valor arredondado: ",  arredondar(8.12))

if __name__== "__main__":
  main()



Java ::: Coleções (Collections) ::: Stack

Java Collections - Como remover o elemento no topo de uma Stack usando seu método pop()

Quantidade de visualizações: 9675 vezes
Uma estrutura do tipo pilha (representada aqui por um objeto da classe Stack) permite que seus elementos sejam removidos sempre na ordem contrária em que foram inseridos, ou seja, o último elemento inserido é sempre o primeiro a sair. Veja no trecho de código abaixo como usar o método pop() para remover e retornar o elemento no topo da pilha:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // Cria uma Stack de String
    Stack<String> pilha = new Stack<String>();
    
    // adiciona três elementos na pilha
    pilha.push("Cuiabá");
    pilha.push("Goiânia");
    pilha.push("Belo Horizonte");

    // remove os elementos, sempre removendo o 
    // elemento do topo primeiro
    while(!pilha.empty()){
      String elem = pilha.pop();
      System.out.println("Elemento removido: " + elem);
    }    
  } 
}

Ao executar este código nós teremos o seguinte resultado:

Elemento removido foi: Belo Horizonte
Elemento removido foi: Cuiabá
Elemento removido foi: Goiânia


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como definir ou retornar a cor de fundo de uma determinada coluna do TDBGrid do Delphi

Quantidade de visualizações: 9435 vezes
Em algumas situações gostaríamos de definir a cor de fundo de uma determinada coluna do DBGrid. Isso pode ser feito por meio da propriedade Color da classe TColumn.

Em tempo de design a cor de fundo de um coluna pode ser definida clicando-se com o botão direito do DBGrid e escolhendo a opção Columns Editor. Em seguida clique na coluna desejada e ajuste sua propriedade Color no Object Inspector.

Em tempo de execução podemos definir a cor de fundo para uma coluna usando o seguinte trecho de código:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos definir a cor de fundo para a primeira coluna
  DBGrid1.Columns[0].Color := Graphics.clYellow;
end;

Veja que eu defini a cor de fundo como sendo uma das constantes definidas na unit Graphics. Lembre-se de que também podemos fornecer um valor RGB.

Veja agora um trecho de código que mostra como obter a cor de fundo da coluna:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos obter a cor de fundo da primeira coluna
  ShowMessage('A cor de fundo da coluna é: ' +
    ColorToString(DBGrid1.Columns[0].Color));
end;

Ao executarmos este código temos uma mensagem parecida com:

"A cor de fundo da coluna é: clSilver".

Esta dica foi escrita e testada no Delphi 2009.


Java ::: Dicas & Truques ::: Data e Hora

Como retornar o dia do mês em Java usando Calendar.DAY_OF_MONTH

Quantidade de visualizações: 202 vezes
Nesta dica mostrarei como podemos usar a constante Calendar.DAY_OF_MONTH para retornar o dia do mês para uma determinada data. Para isso nós só precisamos fornecer esta constante para o método get() de uma instância da classe Calendar.

Veja o código completo para o exemplo:

package estudos;

import java.util.Calendar;

public class Estudos {
  public static void main(String args[]) {
    // vamos obter uma instância da classe Calendar
    Calendar agora = Calendar.getInstance();
    
    // agora vamos obter o dia do mês como um inteiro
    int dia_mes = agora.get(Calendar.DAY_OF_MONTH);
    
    // e mostramos o resultado
    System.out.println("O dia do mês é: " + dia_mes);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

O dia do mês é: 26


Python ::: Dicas & Truques ::: Data e Hora

Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d")

Quantidade de visualizações: 8182 vezes
Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d")

Este exemplo mostra como usar a função strftime() e o sinalizador ("%d") para retornar o dia do mês a partir de um datetime. Observe que o dia do mês será retornado como um decimal no intervalo 01-31.

from datetime import datetime

def main():
  # Obtém um datetime da data e hora atual
  hoje = datetime.today()

  # Exibe o dia do mês como um decimal
  print(hoje.strftime("O dia do mês é: %d"))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O dia do mês é: 26

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.