Você está aqui: Python ::: Pygame ::: Mouse e Teclado |
Como detectar o pressionamento de uma tecla no Pygame do Python usando o evento pygame.KEYDOWNQuantidade de visualizações: 1310 vezes |
Podemos testar se uma tecla foi pressionada na janela de desenho do Pygame verificando se o evento.type é igual a pygame.KEYDOWN. Este evento é disparado sempre que uma tecla é pressionada (sem necessariamente ser solta). Para detectar quando a tecla foi liberada, devemos usar o evento pygame.KEYUP. Na aplicação a seguir nós criamos uma janela de jogo no Pygame, definimos o seu tamanho, o título, a cor de fundo e, no loop de eventos, nós detectamos o pressionamento de uma tecla e enviamos uma mensagem para a janela de comandos. Veja o código Pygame completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar as bibliotecas necessárias import pygame, sys from pygame.locals import * # inicializa a biblioteca pygame.init() # obtém a superfície do jogo e define o tamanho da tela DISPLAYSURF = pygame.display.set_mode((600, 450)) # vamos definir o título da janela do jogo pygame.display.set_caption("Meu Jogo de Cartas") # vamos definir a cor de fundo para a tela do jogo do Pyagem BRANCO = (255, 255, 255) DISPLAYSURF.fill(BRANCO) # e definimos a cor para a superfície da janela # e aqui nós entramos no loop do game while True: # monitoramos os eventos for evento in pygame.event.get(): # se o evento foi um pedido para sair if evento.type == QUIT: # fechamos a tela do jogo pygame.quit() # e saimos do programa sys.exit() # vamos verificar se o evento pygame.KEYDOWN foi disparado if evento.type == pygame.KEYDOWN: print("Uma tela foi pressionada na janela de desenho") # redesenha a tela continuamente pygame.display.update() Ao executar a aplicação Pygame nós teremos o seguinte resultado (mostrado na janela de comando): Uma tela foi pressionada na janela de desenho |
![]() |
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: 8052 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. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercício Resolvido de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash tableQuantidade de visualizações: 2412 vezes |
Exercícios Resolvidos de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table Pergunta/Tarefa: Dadas duas palavras p1 e p2, escreva um código Python que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez. Para esta solução você deverá, obrigatoriamente, usar um dicionário Python, ou seja, um objeto dict. O objetivo é construir duas tabelas de frequências dos caracteres de cada palavra. Dicionários em Python são similares às tabelas hash (hash tables) em outras linguagens de programação. Seu programa deverá exibir a seguinte saída: ![]() Resposta/Solução: Veja a resolução com código comentado em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método que recebe duas palavras e retorna # verdadeiro se uma palavra for anagrama da # outra def anagramas(palavra1, palavra2): # o primeiro passo é verificar se os comprimentos das duas # palavras são iguais if(len(palavra1) != len(palavra2)): return False # agora criamos dois dictionaries para as frequencias de # cada uma das palavras freq_p1 = {} freq_p2 = {} # agora registramos as frequências de letras na primeira # palavra for letra in palavra1: # a letra já está no dicionário? if letra in freq_p1: freq_p1[letra] += 1 # aumenta a frequêcia desta letra else: freq_p1[letra] = 1 # ainda não estava no dicionário # agora registramos as frequências de letras na segunda # palavra for letra in palavra2: # a letra já está no dicionário? if letra in freq_p2: freq_p2[letra] += 1 # aumenta a frequêcia desta letra else: freq_p2[letra] = 1 # ainda não estava no dicionário # registradas as frequências de letras das duas palavras, # chegou a hora de compararmos os dois dicionários for chave in freq_p1: # esta chave não está no segundo dicionário ou # possui valores diferentes? if chave not in freq_p2 or freq_p1[chave] != freq_p2[chave]: return False # se chegou até aqui então uma palavra é anagrama da outra return True def main(): # vamos ler duas palavras e verificar se uma é anagrama da outra palavra1 = input("Informe a primeira palavra: ") palavra2 = input("Informe a segunda palavra: ") # vamos chamar o método que faz a verificação if(anagramas(palavra1, palavra2)): print("As duas palavras são anagramas") else: print("As duas palavras não são anagramas") if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em PythonQuantidade de visualizações: 1243 vezes |
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Python completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # função que recebe dois pontos na terra e retorna a distância # entre eles em quilômetros def calcularDistancia(lat1, lat2, lon1, lon2): raio_terra = 6378.137 # raio da terra em quilômetros # o primeiro passo é converter as latitudes e longitudes # para radianos lon1 = math.radians(lon1) lon2 = math.radians(lon2) lat1 = math.radians(lat1) lat2 = math.radians(lat2) # agora aplicamos a Fórmula de Haversine dlon = lon2 - lon1 dlat = lat2 - lat1 a = math.pow(math.sin(dlat / 2), 2) + math.cos(lat1) * math.cos(lat2) \ * math.pow(math.sin(dlon / 2),2) c = 2 * math.asin(math.sqrt(a)) # e retornamos a distância return(c * raio_terra) # método principal def main(): # vamos solicitar a latitude e longitude das duas localizações lat1 = float(input("Informe a primeira latitude: ")) lon1 = float(input("Informe a primeira longitude: ")) lat2 = float(input("Informe a segunda latitude: ")) lon2 = float(input("Informe a segunda longitude: ")) # vamos calcular a distância entre os dois pontos em Kms distancia = calcularDistancia(lat1, lat2, lon1, lon2) # mostramos o resultado print("A distância entre os dois pontos é: {0} kms".format(distancia)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe a primeira latitude: -16.674551 Informe a primeira longitude: -49.303598 Informe a segunda latitude: -15.579321 Informe a segunda longitude: -56.10009 A distância entre os dois pontos é: 736.9183827638687kms Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |