Você está aqui: Python ::: Tkinter GUI Toolkit ::: Animação, Animações, Técnicas de Animação |
Como movimentar uma imagem no Canvas do Tkinter usando as teclas de direçãoQuantidade de visualizações: 696 vezes |
Nesta dica mostrarei uma técnica de animação muito valiosa para quem está começando a desenvolver jogos em Tkinter. Nossa idéia é carregar uma imagem na superfície de um elemento Canvas e movê-la na tela usando as teclas de direção (para cima, para baixo, para a direita e para a esquerda). Este código é muito interessante pois mostra não somente como carregar a imagem no Canvas mas também a usar a função move() para movimentar um determinado elemento, identificado por seu atributo único. Outro detalhe importante é uso da função bind() para anexar à janela da aplicação os eventos que queremos tratar. Veja o código Python completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # vamos importar os objetos Image e ImageTk do Pillow from PIL import Image, ImageTk # variáveis globais canvas = None imagem = None incremento_x = 20 incremento_y = 20 # método principal def main(): # referencia as variáveis globais global canvas, imagem, pos_x, pos_y # vamos criar o frame para representar a janela da aplicação Tkinter janela = Tk() # agora definimos o tamanho da janela janela.geometry("800x650") # criamos o objeto Canvas com o fundo branco canvas = Canvas(janela, width=750, height=600, bg="white") canvas.pack(pady=20) # vamos carregar a imagem que será exibida no Canvas imagem_moto = ImageTk.PhotoImage(Image.open('moto.png')) # colocamos a imagem no Canvas e geramos o id único "imagem" para ela imagem = canvas.create_image(50, 50, anchor=NW, image=imagem_moto) # agora fazemos o binding dos eventos janela.bind("<Left>", esquerda) janela.bind("<Right>", direita) janela.bind("<Up>", cima) janela.bind("<Down>", baixo) # e entramos no loop da aplicação janela.mainloop() # função para mover a imagem para a esquerda def esquerda(evento): # referencia as variáveis globais global canvas, imagem, incremento_x canvas.move(imagem, -incremento_x, 0) # função quer move a imagem para a direita def direita(evento): # referencia as variáveis globais global canvas, imagem, incremento_x canvas.move(imagem, incremento_x, 0) # função que move a imagem para cima def cima(evento): # referencia as variáveis globais global canvas, imagem, incremento_y canvas.move(imagem, 0, -incremento_y) # função que move a imagem para baixo def baixo(evento): # referencia as variáveis globais global canvas, imagem, incremento_y canvas.move(imagem, 0, incremento_y) if __name__== "__main__": main() |
![]() |
Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas)Quantidade de visualizações: 7423 vezes |
Este exemplo mostra como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) usando o método strftime() da classe datetime com o sinalizador "%I". Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- from datetime import datetime def main(): # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe a hora atual como um decimal print(hoje.strftime("A hora é: %I")) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A hora é: 10 |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while do Python - Python para iniciantesQuantidade de visualizações: 15395 vezes |
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero <= 10: print(numero) numero = numero + 1 else: print("Terminei") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Terminei Veja um exemplo de um laço while que nunca será executado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero > 10: print(numero) numero = numero + 1 if __name__== "__main__": main() E agora um exemplo de laço usando um valor booleano: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): continuar = True valor = 0 while continuar: print(valor) if valor > 5: continuar = False else: valor = valor + 1 if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se o primeiro caractere de cada palavra em uma string Python é o único em letra maiúscula usando a função istitle()Quantidade de visualizações: 8730 vezes |
Nesta dica mostrarei como podemos usar a função istitle() da linguagem Python para verificar se o primeiro caractere de cada palavra em uma frase ou texto é o único caractere em letra maiúscula. Se o teste for verdadeiro o retorno é true, caso contrário o retorno é false. Veja o exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): frase = "Gosto De Programar Em Python" if frase.istitle(): print("O primeiro caractere de cada palavra é maiusculo") else: print("O teste não resultou verdadeiro") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O primeiro caractere de cada palavra é maiusculo. |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem PythonQuantidade de visualizações: 10613 vezes |
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): for i in range(11): print(i, end = " ") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string contém apenas caracteres de espaços em Python usando a função isspace()Quantidade de visualizações: 11811 vezes |
Este exemplo mostra como como usar a função isspace() para verificar se uma string contém apenas caracteres de espaço. Se qualquer caractere, diferente do espaço, for encontrado, a função retorna False.---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): # uma frase contendo apenas espaços frase = " " # vamos verificar se a string contém apenas espaços if frase.isspace(): print("A string contém apenas espaços") else: print("A string não contém apenas espaços") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A string contém apenas espaços. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string Python usando a função count()Quantidade de visualizações: 9980 vezes |
Em várias ocasiões nós precisamos obter a quantidade de vezes que parte de uma palavra é encontrada em outra palavra, frase ou texto, ou seja, uma substring dentro de uma string. Para isso nós podemos usar o método count() da linguagem Python. Veja sua assinatura:count(substring[, início[, fim]]) Veja um código Python completo para este exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): frase = "Gosto de Python porque Python é muito bom" # conta as ocorrências de "Python" print("\"Python\" ocorreu", frase.count("Python"), "vezes.") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: "Python" ocorreu 2 vezes. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Escreva um programa Python para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1787 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método principal def main(): # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] # vamos mostrar o vetor na ordem original print("Vetor na ordem original:\n") for i in range(len(valores)): print("%d " % valores[i], end="") # vamos inicializar j como 0 para que ele aponte para # o primeiro elemento do vetor j = 0 # agora o laço for percorre todos os elementos do vetor, # incrementanto a variável i e deixando o j em 0 for i in range(len(valores)): # encontramos um valor que não é 0 if(valores[i] != 0): # fazemos a troca entre os elementos nos índices # i e j temp = valores[i] valores[i] = valores[j] valores[j] = temp # e avançamos o j para o elemento seguinte j = j + 1 # agora mostramos o resultado print("\n\nVetor com os zeros deslocados para o final:\n") for i in range(len(valores)): print("%d " % valores[i], end="") if __name__== "__main__": main() Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar itens no início de uma lista Python usando a função insert()Quantidade de visualizações: 9250 vezes |
Podemos usar o método insert() do objeto List da linguagem Python para inserir itens em qualquer posição, ou seja, em qualquer índice de uma lista. Para isso só precisamos informar o índice desejado e o valor a ser inserido. Nesta dica mostrarei como adicionar itens no início de uma List Python. Tudo que precisamos é informar o valor 0 para o índice. Veja o exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- """ Este exemplo mostra como adicionar itens ao início de uma lista de inteiros. """ def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 6): valor = int(input("Informe um inteiro: ")) # insere o valor no início da lista valores.insert(0, valor) # fim do laço for # exibe os valores da lista print("Valores na lista:", valores, "\n") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um inteiro: 5 Informe um inteiro: 8 Informe um inteiro: 3 Informe um inteiro: 2 Informe um inteiro: 9 Valores na lista: [9, 2, 3, 8, 5] |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética profissional, social, política Se a maior preocupação de Maquiavel é o Estado, poderíamos dizer que isso o situa no presente temporal. A respeito disto, afirma Sadek (1995, p. 17): "De fato, sua preocupação em todas as suas obras é o Estado. Não o melhor Estado, aquele tantas vezes imaginado, mas que nunca existiu. Mas o Estado real, capaz de impor a ordem". A partir do trecho citado, assinale a alternativa correta: A) Para Maquiavel, o tempo presente do Estado deve ser considerado pela ética. B) Para Maquiavel, a ética está associada ao exercício da ordem. C) Para Maquiavel, a ética está atrelada a uma idealização da ação na política. D) Para Maquiavel, a ordem é fruto de um Estado ético. E) Para Maquiavel, o Estado existe enquanto mantenedor da ética. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual o resultado da execução do seguinte código JavaScript?document.write(false == '0'); A) 0 B) false C) 1 D) true E) Erro de execução Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Assinale a alternativa que apresenta uma justificativa para a importância dos rios: A) A manutenção do equilíbrio ambiental local. B) A disponibilidade somente de água potável. C) A ausência de grandes eventos de inundação. D) O desgaste da superfície das rochas ígneas. E) O aumento da temperatura de forma pontual. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Com relação à delimitação de bacias hidrográficas, é correto afirmar que A) todos os pontos em seu interior, obrigatoriamente possuem cotas iguais ou inferiores em relação às cotas do divisor de águas da bacia. B) tanto o divisor de água do tipo topográfico quanto o divisor do tipo freático podem ser utilizados, pois os dois sempre se coincidem. C) segundo o método de Strahler de hierarquização fluvial, bacias hidrográficas de 4ª ordem têm o dobro de área de drenagem do que bacias classificadas em 2ª ordem. D) a linha imaginária que define o seu limite deve ser traçada perpendicularmente às curvas de nível e não cortar nenhum curso de água além do ponto onde se encontra o exutório. E) na escolha do local do exutório para a delimitação, os cursos d?água devem ser classificados como de 4ª ordem (método de Strahler) no mínimo, para que a bacia hidrográfica tenha uma área representativa. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |