Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Como testar se um ano é bissexto em Python - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 1420 vezes |
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa Python que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. 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 solicitar que o usuário informe um ano ano = int(input("Informe o ano: ")) # vamos verificar se o ano informado é bissexto if(((ano % 4 == 0) and (ano % 100 != 0)) or (ano % 400 == 0)): print("\nO ano informado é bissexto.\n") else: print("\nO ano informado não é bissexto.\n"); if __name__== "__main__": main() |
![]() |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Python - Geometria Analítica e Álgebra Linear usando PythonQuantidade de visualizações: 3783 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código Python que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ---------------------------------------------------------------------- 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(): # vamos ler os valores x e y x = float(input("Informe o valor de x: ")) y = float(input("Informe o valor de y: ")) # vamos calcular a norma do vetor norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2)) # mostra o resultado print("A norma do vetor é: %0.2f" % norma) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.22 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menorQuantidade de visualizações: 1805 vezes |
Algoritmos Resolvidos de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor Pergunta/Tarefa: Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor que R$ 20,00; caso contrário, o lucro será de 30%. Elabore um algoritmo que leia o valor do produto e imprima o valor de venda para o produto. Sua saída deverá ser parecida com: Informe o valor do produto: 85 O valor de venda é: 110.5 Veja a resolução comentada deste exercício usando Python: Código para principal.py: ---------------------------------------------------------------------- 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(): # valor ler o valor do produto valor = float(input("Informe o valor do produto: ")) # vamos calcular o valor de venda if valor < 20: valor_venda = valor + (valor * (45.0 / 100)) else: valor_venda = valor + (valor * (30.0 / 100)) print("O valor de venda é: {0}".format(valor_venda)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string está toda em letras minúsculas usando a função islower() da classe string do PythonQuantidade de visualizações: 8187 vezes |
Em algumas ocasiões nós precisamos verificar se uma palavra, frase ou texto contém apenas letras minúsculas. Para isso pode usar a função islower() da classe string do Python. Esta função True se a string contiver apenas letras minúsculas e False em caso contrário. Note que, mesmo que a string contenha números ela ainda pode estar em letras minúsculas. 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(): frase = "ainda gosto do python_2.6" if frase.islower(): print("A string está em letras minúsculas") else: print("A string não está em letras minúsculas") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: A string está em letras minúsculas |
Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter o nome do dia da semana no formato longo (segunda-feira, terça-feira, etc) usando a função strftime() do PythonQuantidade de visualizações: 8838 vezes |
Nesta dica eu mostro como podemos usar a função strftime() da linguagem Python para obter e exibir o nome do dia da semana no formato longo e em português, ou seja, segunda-feira, terça-feira, quarta-feira, etc. 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 ---------------------------------------------------------------------- from datetime import datetime import locale # função principal do programa def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datatime da data e hora atual hoje = datetime.today() # Exibe o nome do dia da semana no formato # longo print("O dia da semana é:", hoje.strftime("%A")) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O dia da semana é: quinta-feira |
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: 8729 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 ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Cartesianas para Coordenadas Polares usando PythonQuantidade de visualizações: 5597 vezes |
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é: __$r = \sqrt{x^2+y2}__$ __$\theta = \\arctan\left(\frac{y}{x}\right)__$ E aqui está o código Python completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$): ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np import math as math def main(): # vamos ler as coordenadas cartesianas x = float(input("Valor de x: ")) y = float(input("Valor de y: ")) # vamos calcular o raio raio = math.sqrt(math.pow(x, 2) + math.pow(y, 2)) # agora calculamos o theta (ângulo) em radianos theta = np.arctan2(y, x) # queremos o ângulo em graus também angulo_graus = 180 * (theta / math.pi) # e exibimos o resultado print("As Coordenadas Polares são:") print("raio = %0.4f, theta = %0.4f, ângulo em graus = %0.2f" % (raio, theta, angulo_graus)) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Valor de x: -1 Valor de y: 1 As Coordenadas Polares são: raio = 1.4142, theta = 2.3562, ângulo em graus = 135.00 Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raízes e frações em vez de valores reais. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular o Número de Reynolds em Python - Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razãoQuantidade de visualizações: 37 vezes |
Pergunta/Tarefa: O Número de Reynolds é uma quantidade adimensional usada na mecânica dos fluidos para prever padrões de fluxo em diferentes situações de escoamento de fluidos. É definido como a razão entre forças inerciais e forças viscosas dentro de um fluido. 1) Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razão de 0,605 kg/s em uma tubulação de 63,5 mm de diâmetro. a) Calcule o número de Reynolds. O escoamento é laminar ou turbulento? b) Calcule a vazão em m3/s para um número de Reynolds de 2100 e a velocidade em m/s. Sua saída deverá ser parecida com: Informe a Massa Específica do fluido (kg/m3): 1030 Informe a Viscosidade Dinâmica do fluido (N.s/m2): 2.12e-3 Informe a Vazão Mássica (kg/s): 0.605 Informe o Diâmetro da Tubulação (mm): 63.5 A área da tubulação é: 0.003166921744359361 m2 A vazão volumétrica do fluido é: 0.000587378640776699 m3/s A velocidade de escoamento do fluido é: 0.18547305181218499 m/s O Número de Reynolds é: 5722.106110271679 Informe o novo Número de Reynolds: 2100 A nova velocidade de escoamento do fluido é: 0.06806819050531304 m/s A nova vazão volumétrica do fluido é: 0.0002155666326104713 m3/s O primeiro passo para a resolução deste exercício é nos lembrarmos da Fórmula do Número de Reynolds: \[R_e = \frac{\rho \cdot v \cdot D}{\mu} \] Onde: [[rho]] é a massa específica do fluido medida em kg/m3; v = velocidade média do fluido em m/s; D = diâmetro para o fluxo do tubo em metros (m); [[mu]] é a viscosidade dinâmica do fluido em N.s/m2. Obs.: No código eu mostro como fazer as conversões de unidades necessárias. Veja a resolução completa para o exercício em Python, comentada linha a linha: ---------------------------------------------------------------------- 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 Math import math # método principal def main(): # vamos ler a massa específica da água massa_especifica = float(input("Informe a Massa Específica (kg/m3): ")) # vamos ler a viscosidade dinâmica do fluido viscosidade_dinamica = float(input("Informe a Viscosidade (N.s/m2): ")) # vamos ler a vazão mássica vazao_massica = float(input("Informe a Vazão Mássica (kg/s): ")) # vamos ler o diâmetro da tubulação diametro = float(input("Informe o Diâmetro da Tubulação (mm): ")) # o primeiro passo é calcular a área da seção transversal da tubulação # a) convertemos milímetros para metros diametro = diametro / 1000.0 # b) calculamos a área em metros quadrados area = (math.pi * math.pow(diametro, 2) / 4) # vamos converter a vazão mássica em vazão volumétrica vazao = vazao_massica / massa_especifica # vamos obter a velocidade de escoamento do fluido velocidade = vazao / area # e finalmente calculamos o Número de Reynolds numero_reynolds = (massa_especifica * velocidade * diametro) / viscosidade_dinamica # mostramos os resultados print("\nA área da tubulação é: {0} m2".format(area)) print("A vazão volumétrica do fluido é: {0} m3/s".format(vazao)) print("A velocidade de escoamento do fluido é: {0} m/s".format(velocidade)) print("O Número de Reynolds é: {0}".format(numero_reynolds)) # vamos ler o novo Número de Reynolds novo_numero_reynolds = float(input("\nInforme o novo Número de Reynolds: ")) # vamos calcular a velocidade para o novo Reynolds nova_velocidade = ((viscosidade_dinamica * novo_numero_reynolds) / (massa_especifica * diametro)) print("A nova velocidade de escoamento do fluido é: {0} m/s".format(nova_velocidade)) # vamos calcular a nova vazão volumétrica nova_vazao = area * nova_velocidade print("A nova vazão volumétrica do fluido é: {0} m3/s".format(nova_vazao)) if __name__== "__main__": main() O primeiro Número de Reynolds, ou seja, 5722.1061, caracteriza o escoamento como turbulento, pois é maior que 2400. Já o Número de Reynolds 2100 caracteriza o escoamento como escoamento de transição (saindo do escoamento laminar e indo para o escoamento turbulento), já que é maior que 2000 e menor que 2400. |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Python - Eu tenho um valor de R$ 500,00 que aumentou para R$ 800,00. Qual foi o aumento percentual?Quantidade de visualizações: 894 vezes |
Nesta dica mostrarei como calcular a porcentagem do aumento sofrido por um determinado valor usando a linguagem Python. Este é um cenário muito comum. Veja a seguinte situação: a) Temos um produto x que custava R$ 500,00 e que foi aumentado para R$ 800,00. Queremos, dessa forma, descobrir o percentual de aumento que o preço do produto sofreu. Veja o código Python para a realização deste cálculo: ---------------------------------------------------------------------- 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(): # preço anterior do produto precoAnterior = float(input("Informe o preço anterior: ")) # preço atual do produto precoAtual = float(input("Informe o preço atual: ")) # efetua o cálculo a = precoAnterior b = 100 * precoAtual c = b / a d = c - 100 # mostra o resultado print("A porcentagem de aumento foi: %f%%" % d) if __name__== "__main__": main() Ao executar este código Python nós teremos um resultado parecido com: Informe o preço anterior: 500 Informe o preço atual: 800 A porcentagem de aumento foi: 60.000000% |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se criar um array em JavaScript? A) var cores = ["vermelho", "verde", "azul"]; B) var cores = (1: "vermelho", 2: "verde", 3: "azul"); C) var cores = "vermelho", "verde", "azul"; D) var cores = 1: ("vermelho"), 2: ("verde"), 3: ("azul"); Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Equação da continuidade Um avião está se movendo pelo ar com velocidade de 220 m/s. As linhas de fluxo acima da asa estão comprimidas em 88% de sua área original. As linhas de fluxo abaixo da asa não estão comprimidas. Qual é a velocidade do ar acima da asa do avião em relação a esta? A) 220 m/s B) 26,4 m/s C) 414 m/s D) 194 m/s E) 250 m/s Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Topografia no Civil 3D São linhas usadas para representar a topografia, mostrando as mudanças de elevação no terreno. Essas linhas conectam posições com a mesma elevação em uma superfície. Estamos falando de: A) Control Points (Pontos de Controle) B) Breaklines (Linhas de Quebra) C) Contour Lines (Curvas de Nível) D) Feature Lines (Linhas de Características) E) Parcels (Parcelas, Lotes) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Agregados naturais Os módulos de finura para areais bem granulados enquadram-se na NBR e variam de acordo com certos limites expostos na norma. Assinale a alternativa que contenha Areia Muito fina. A) Módulo Finura 1,35. B) Faixa inicial módulo de finura 1,71. C) Faixa inicial módulo de finura 2,11. D) Faixa inicial módulo de finura 2,71. E) Módulo de finura 4,00. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
O aço no edifício A estrutura de estabilização da moldura estrutural da edificação da figura a seguir, que é formada por paredes rígidas, feitas de aço, concreto ou alvenaria de concreto armado, pode ser chamada de: ![]() A) Estrutura contraventada. B) Moldura amarrada excentricamente. C) Moldura resistente a momentos. D) Paredes de cisalhamento. E) Nenhuma das alternativas anteriores. 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 |