Você está aqui: Python ::: Dicas & Truques ::: Data e Hora |
Como adicionar dias à uma data em Python usando a função timedelta() da classe datetimeQuantidade de visualizações: 8971 vezes |
Nesta dica mostrarei como é possível usar o método timedelta() da classe datetime do Python para adicionar um determinado número de dias a uma data. O truque aqui é fornecer apenas o dia para o método timedelta(), obter o resultado e somá-lo com a data que já temos. Veja o código 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 ---------------------------------------------------------------------- import datetime # função principal do programa def main(): # dias a serem adicionados quant_dias = 2 # Obtém a data de hoje hoje = datetime.date.today() print("Hoje é:", hoje) # Adiciona dias à data dias = datetime.timedelta(days=quant_dias) hoje = hoje + dias # Exibe o resultado print("Daqui à", quant_dias, "dias será", hoje) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Hoje é: 2021-03-11 Daqui à 2 dias será 2021-03-13 |
![]() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural |
Exercícios Resolvidos de Python - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando PythonQuantidade de visualizações: 1114 vezes |
Pergunta/Tarefa: Veja a seguinte figura: ![]() Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero. Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A. Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga). Sua saída deve ser parecida com: Valor da carga em kN/m: 10 Distância em metros: 13 A reação no apoio A é: 65.000000 kN A reação no apoio B é: 65.000000 kN O momento fletor máximo é: 211.250000 kN Informe uma distância a partir do apoio A: 4 O momento fletor na distância informada é: 180.000000 kN A força cortante no apoio A é: 65.000000 kN A força cortante no apoio B é: -65.000000 kN 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 ---------------------------------------------------------------------- # Algoritmo que calcula reação de apoio, momento fletor # e força cortante em uma viga bi-apoiada em Python # vamos importar o módulo Math import math # função principal do programa def main(): # vamos pedir para o usuário informar o valor da carga carga = float(input("Valor da carga em kN/m: ")) # vamos pedir para o usuário informar a distância entre os apoios distancia = float(input("Distancia em metros: ")) # vamos calcular a reação no apoio A reacao_a = (1.0 / 2.0) * carga * distancia # vamos calcular a reação no apoio B reacao_b = reacao_a # vamos calcular o momento fletor máximo flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0) # e mostramos o resultado print("\nA reação no apoio A é: {0} kN".format(reacao_a)) print("A reação no apoio B é: {0} kN".format(reacao_b)) print("O momento fletor máximo é: {0} kN".format(flexao_maxima)) # vamos pedir para o usuário informar uma distância a # partir do apoio A distancia_temp = float(input("\nInforme uma distância a partir do apoio A: ")) # vamos mostrar o momento fletor na distância informada if distancia_temp > distancia: print("\nDistância inválida.") else: flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \ (distancia - distancia_temp) print("O momento fletor na distância informada é: {0} kN".format( flexao_distancia)) # vamos mostrar a força cortante no apoio A cortante_a = (1.0 / 2.0) * carga * distancia print("\nA força cortante no apoio A é: {0} kN".format(cortante_a)) # vamos mostrar a força cortante no apoio B cortante_b = cortante_a * -1 print("A força cortante no apoio B é: {0} kN".format(cortante_b)) if __name__== "__main__": main() |
Python ::: Pygame ::: Animação, Animações, Técnicas de Animação |
Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em portuguêsQuantidade de visualizações: 1223 vezes |
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:![]() Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes. Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock(). Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs? Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real. Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas. Eis o código completo para o relógio analógico. Boa diversão. ---------------------------------------------------------------------- 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 as bibliotecas necessárias import pygame, sys from pygame.locals import * import math from datetime import datetime # função que faz a correção dos ângulos def corrigir_angulo(angulo): return abs(angulo % 360) # inicializa a biblioteca pygame.init() # quantidade de frames por segundo FPS = 30 # construímos o timer timer = pygame.time.Clock() # obtém a superfície do jogo e define o tamanho da tela janela = pygame.display.set_mode((600, 400)) # vamos definir o título da janela do jogo pygame.display.set_caption('Relógio Analógico no Pygame') # vamos definir alguns parâmetros fonte = pygame.font.Font(None, 36) VERMELHO = (200, 0, 0) BRANCO = (255, 255, 255) raio = 150 x_inicial = 300 y_inicial = 200 distancia_aro = 20 # e aqui nós entramos no loop do game while True: # vamos pintar a tela toda de branco janela.fill(BRANCO) # 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 desenhar um circulo não preenchido (maior) pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2) # vamos desenhar um circulo não preenchido (menor) pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0) # vamos desenhar os números do relório (1-12) for n in range(1, 13): # calcula o ângulo dessa hora angulo = math.radians((n * (360 / 12)) - 90) # agora convertemos o ângulo e o raio para coordenadas cartesianas if len(str(n)) > 1: x = math.cos(angulo) * (raio - distancia_aro) - 18 else: x = math.cos(angulo) * (raio - distancia_aro) - 10 y = math.sin(angulo) * (raio - distancia_aro) - 10 texto_numero = fonte.render(str(n), True, VERMELHO) janela.blit(texto_numero, (x_inicial + x, y_inicial + y)) # vamos obter as horas, minutos e segundos atuais hoje = datetime.today() horas = hoje.hour % 12 minutos = hoje.minute segundos = hoje.second # ajustamos as horas para tratar a hora decimal (com frações de horas) horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600)) # desenha o ponteiro das horas angulo_horas = corrigir_angulo(horas * (360 / 12) - 90) angulo_horas = math.radians(angulo_horas) hora_x = math.cos(angulo_horas) * (raio - 60) hora_y = math.sin(angulo_horas) * (raio - 60) coord_finais = (x_inicial + hora_x, y_inicial + hora_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4) # desenha o ponteiro dos minutos angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90) angulo_minutos = math.radians(angulo_minutos) minutos_x = math.cos(angulo_minutos) * (raio - 40) minutos_y = math.sin(angulo_minutos) * (raio - 40) coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3) # desenha o ponteiro dos segundos angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90) angulo_segundos = math.radians(angulo_segundos) segundos_x = math.cos(angulo_segundos) * (raio - 30) segundos_y = math.sin(angulo_segundos) * (raio - 30) coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1) # redesenha a tela continuamente pygame.display.update() # aciona o disparo do timer timer.tick(FPS) |
Python ::: wxPython ::: wxFrame |
Como definir o ícone para uma janela wx.Frame do wxPythonQuantidade de visualizações: 7281 vezes |
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida. Veja o código 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 a biblioteca Wx import wx # vamos criar uma classe que herda de wxFrame class MinhaJanela(wx.Frame): def __init__(self): # chamamos o construtor da super classe wx.Frame.__init__(self, None, -1, "Cadastro de Clientes", size=(350, 200)) # Define o ícone para a janela self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO)) if __name__ == "__main__": app = wx.App() janela = MinhaJanela() janela.Show(True) app.MainLoop() |
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 ::: Dicas & Truques ::: Lista (List) |
Como criar uma lista Python vazia e adicionar itens a ela usando o laço for..inQuantidade de visualizações: 11879 vezes |
Nesta dica mostrarei como é possível usar o operador de vetor "[]" para criar um objeto List vazio na linguagem Python. Em seguida usaremos o laço for..in para adicionar 10 elementos a esta lista. Veja o código 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 ---------------------------------------------------------------------- """ Este exemplo mostra como criar uma list vazia e inicializá-la usando o laço for. """ def main(): # cria uma lista vazia valores = [] # adiciona valores a ela for num in range(1, 11): valores += [(num * 2)] # exibe os valores da lista for num in valores: print(num) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 2 4 6 8 10 12 14 16 18 20 |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço for do Python - Apostila Python para iniciantes - O laço forQuantidade de visualizações: 12830 vezes |
O laço for (laço para) em Python é um pouco diferente daquele encontrado em Java, C ou C++. Na verdade, o laço for da Python está mais para o laço foreach do C# e o novo laço for do Java 1.5. Em Python, o laço for funciona com sequencias (range), ou seja, a cada iteração do laço, um elemento da sequencia é retornado. Vamos ver isso mais de perto. Veja o exemplo a seguir: ---------------------------------------------------------------------- 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(): for i in range(1, 11): print(i) if __name__== "__main__": main() Este trecho de código exibirá os números de 1 até 10. Veja que o último limite não é incluído na contagem. Este exemplo pode também ser escrito assim: ---------------------------------------------------------------------- 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(): for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: print(i) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como pesquisar uma substring em uma string usando a função find() da linguagem PythonQuantidade de visualizações: 12344 vezes |
Nesta dica mostrarei como podemos usar o método find() do objeto string da linguagem Python para pesquisar uma substring em uma string. A assinatura dessa função é: find(substring[, start[, end]]) onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa. Se a substring não for encontrada, o valor -1 é retornado. Se for encontrada, o índice do primeiro caractere é retornado. Veja um exemplo completo do seu uso: ---------------------------------------------------------------------- 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 Python e JavaScript" indice = frase.find("Python") if indice != -1: print("A palavra foi encontrada no índice", indice) else: print("A palavra não foi encontrada") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: A palavra foi encontrada no índice 9. |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Python para matemática - Como definir a precisão (casas decimais) na exibição de um valor de ponto-flutuante em PythonQuantidade de visualizações: 14992 vezes |
Este trecho de código mostra como definir a precisão com que um número de ponto-flutuante será exibido. Atenção: Arredondamentos podem ocorrer dependendo da redução das casas decimais. Veja o código Python 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 ---------------------------------------------------------------------- def main(): valor = 43.13985765 # com dois dígitos print("O valor e %.2f" % valor) # com três dígitos print("O valor e %.3f" % valor) # com um dígito print("O valor e %.1f" % valor) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O valor é 43.14 O valor é 43.140 O valor é 43.1 |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Survey Points e COGO Points Cogo points não podem ser editados na janela Properties. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Cálculo da vazão e velocidade de água em um canal retangular Sabe-se que um pequeno canal, com dimensões determinadas conforme a figura abaixo, enche um reservatório de 10.000 m3 em 1 dia. Qual a vazão? Qual a velocidade da água? ![]() A) A vazão é 0.7211 m3/s e a velocidade é 0.1157 m/s. B) A vazão é 0.1157 m3/s e a velocidade é 0.0385 m/s. C) A vazão é 0.0385 m3/s e a velocidade é 0.1157 m/s. D) A vazão é 0.1157 m3/s e a velocidade é 0.0771 m/s. E) A vazão é 0.0771 m3/s e a velocidade é 0.1157 m/s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade dinâmica é uma substância dada em função do aumento das tensões de cisalhamento aplicadas à substância. A proporção em que o fluido se deforma em função do tempo é chamada de: A) velocidade do fluido. B) viscosidade do fluido. C) taxa de deformação do fluido. D) densidade do fluido. E) força aplicada ao fluido. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javaint a = 3 / 0; System.out.println(a); Qual é o resultado de sua execução? A) Infinity B) NaN C) Uma exceção java.lang.ArithmeticException: / by zero D) 0 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?estados = {"SP": "SÃO PAULO", "GO": "GOIÁS", "RJ": "RIO DE JANEIRO", "MG": "MINAS GERAIS"} print("GO" in estados) A) "GO" B) True C) False D) "SP", "GO", "RJ", "MG" E) "GOIÁS" 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 |