Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
A cada número n lido, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#" - Lista de Exercícios Resolvidos de PythonQuantidade de visualizações: 557 vezes |
Pergunta/Tarefa: Escreva um programa Python que solicita ao usuário vários números inteiros positivos maiores que 0, todos informados na mesma linha e separados por espaço. Para cada um dos números informados, desenhe o histograma referente a este número, ou seja, para cada número n, exiba um linha de n caracteres "#". Seu código deverá, obrigatoriamente, usar a função map(). Sua saída deverá ser parecida com: Informe vários números separados por espaço: 7 2 4 10 13 1 5 ####### ## #### ########## ############# # ##### 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 pedir para o usuário informar números separados por espaços numeros = map(int, input( "Informe vários números separados por espaço: ").split()) for n in numeros: if n > 0: for i in range(n): print("#", end="") # vamos quebrar a linha print() if __name__== "__main__": main() |
![]() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como importar a biblioteca NumPy e exibir sua versãoQuantidade de visualizações: 684 vezes |
Pergunta/Tarefa: Escreva um programa Python que demonstra como importar a biblioteca NumPy para nossos programas. Em seguida exiba uma mensagem mostrando a versão da NumPy instalada na sua máquina. Sua saída deverá ser parecida com: A versão da NumPy é: 1.19.4 Veja a resolução comentada deste exercício em 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 ---------------------------------------------------------------------- # vamos importar a biblioteca NumPy import numpy as np # função principal do programa def main(): # vamos mostrar a versão da biblioteca NumPy qye temos instalada versao = np.__version__ # mostramos o resultado print("A versão da NumPy é: {0}".format(versao)) if __name__== "__main__": main() |
Python ::: Itertools ::: Iteradores de Combinação e Permutação |
Como gerar permutações de uma string em Python usando o objeto permutations do módulo ItertoolsQuantidade de visualizações: 831 vezes |
Nesta dica mostrarei como podemos usar o objeto permutations do módulo Itertools para gerar as permutações simples de uma string. Na permutação simples, quando os elementos não se repetem, a quantidade de conjuntos gerados a partir do conjunto analisado equivale a n!, onde n é a quantidade de elementos no conjunto a partir do qual a permutação ocorrerá. Dessa forma, para a palavra LOTE, a quantidade de permutações possíveis (sem repetição) é 4! = 24. Veja o código Python completo que gera as permutações simples para a palavra LOTE: ---------------------------------------------------------------------- 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 objeto permutations do Itertools from itertools import permutations def main(): # palavra contendo os caracteres que queremos # gerar a permutação. Veja que não vamos usar # caracteres repetidos palavra = "LOTE" # agora obtemos uma lista com as permutações possíveis permutacoes = [''.join(p) for p in permutations(palavra)] # e mostramos o resultado print("As permutações para a palavra {0} são:\n".format(palavra)) print(permutacoes) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: As permutações para a palavra LOTE são: ['LOTE', 'LOET', 'LTOE', 'LTEO', 'LEOT', 'LETO', 'OLTE', 'OLET', 'OTLE', 'OTEL', 'OELT', 'OETL', 'TLOE', 'TLEO', 'TOLE', 'TOEL', 'TELO', 'TEOL', 'ELOT', 'ELTO', 'EOLT', 'EOTL', 'ETLO', 'ETOL'] |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como obter a entrada do usuário usando o método raw_input() - Atualizado para Python 3.0Quantidade de visualizações: 8408 vezes |
Até pouco tempo era possível usar o método raw_input(), nativo do Python, para ler a entrada do usuário. O código abaixo, por exemplo, funcionava corretamente no Python 2.5: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- # obtém o nome do usuário nome = raw_input("Por favor, informe seu nome: ") print "Ola, " + nome + "! Voce tambem gosta de Python?" No Python 3.0 em diante, a execução deste código exibe o seguinte erro de tempo de execuçã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 ---------------------------------------------------------------------- Exception has occurred: NameError name 'raw_input' is not defined File "C:\estudos_python\estudos.py", line 4, in main nome = raw_input("Por favor, informe seu nome: ") File "C:\estudos_python\estudos.py", line 7, in <module> main() A correção para esta exceção, é usar somente a função input(). Veja: ---------------------------------------------------------------------- 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(): nome = input("Por favor, informe seu nome: ") print("Olá, " + nome + "! Voce tambem gosta de Python?") if __name__== "__main__": main() A saída deste código será parecida com: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- Por favor, informe seu nome: Osmar Olá, Osmar! Voce tambem gosta de Python? |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional |
Exercício Resolvido de Python - Programação Linear em Python - Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metrosQuantidade de visualizações: 643 vezes |
Pergunta/Tarefa: Este exercício de Python aborda o uso da biblioteca PuLP para resolver um problema de Pesquisa Operacional usando Programação Linear. Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros quadrados de casca de árvore, dispondo de carvalho e pinheiro, sendo que o carvalho gera 40kg de lenha, 150kg de madeira e 3 metros quadrados de casca aproveitável; o pinheiro 100kg de lenha, 60kg de madeira e 8 metros quadrados de casca aproveitável. Formule o problema, de modo a minimizar os custos, sabendo que cada carvalho custa R$ 1500,00 para a empresa e cada pinheiro R$ 1200,00. Em seguida use a API de Programação Linear do PuLP para resolver o problema e mostrar a melhor solução. Sua saída deverá ser parecida com: x: 11.111111 y: 5.5555556 Antes de passarmos para o código Python é importante entendermos e fazermos a modelagem do problema. Neste exercício busca-se encontrar o custo mínimo. Assim, a nossa função objetivo será dada pela combinação dos preços do carvalho e do pinheiro. Veja: Zmin = 1500x + 1200y Aqui nós definimos a variável x para o carvalho e a variável y para o pinheiro. Agora que já temos a função Z, o próximo passo é analizarmos as restrições. Note que a empresa precisa de 1000kg de lenha. O carvalho gera 40kg de lenha, enquanto o pinheiro gera 100kg. Então nossa primeira restrição é: R1 = 40x + 100y >= 1000 Para a segunda restrição nós temos que a empresa precisa de 2000kg de madeira. O carvalho gera 150kg de madeira, enquanto o pinheiro gera 60kg. Assim, nossa segunda restrição é: R2 = 150x + 60y >= 2000 Finalmente, para a terceira restrição, sabemos que a empresa necessita de 50 metros quadrados de casca de árvore. O carvalho gera 3 metros quadrados de casca aproveitável, enquanto o pinheiro gera 8 metros quadradros. Então a terceira restrição é: R3 = 3x + 8y >= 50 As restrições 4 e 5 dizem que tanto o x quanto o y devem ser maiores ou iguais a zero, e que ambos devem pertencer aos números reais. Veja agora como usamos os dados de formulação para resolver este exercício usando Python e a biblioteca PuLP: ---------------------------------------------------------------------- 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 ferramentas necessárias from pulp import LpMinimize, LpProblem, LpVariable # método principal def main(): # vamos criar o modelo modelo = LpProblem(name="Pesquisa Operacional em Python", sense=LpMinimize) # agora inicializamos as variáveis de decisão x = LpVariable(name="x", lowBound=0) y = LpVariable(name="y", lowBound=0) # vamos adicionar as restrições de acordo com a formulação do problema modelo += (40 * x + 100 * y >= 1000, "R1") modelo += (150 * x + 60 * y >= 2000, "R2") modelo += (3 * x + 8 * y >= 50, "R3") # definimos a função objetivo e a adicionamos ao modelo funcao_objetivo = 1500 * x + 1200 * y modelo += funcao_objetivo # e tentamos resolver o problema modelo.solve() # assumindo que o problema foi resolvido com sucesso, vamos # mostrar os valores das variáveis x e y for var in modelo.variables(): print(f"{var.name}: {var.value()}") if __name__== "__main__": main() Note como o PuLP nos deu o custo mínimo de 23333.33 para atingir o objetivo desejado pela madeireira. |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em Python - Python para matemáticaQuantidade de visualizações: 12575 vezes |
Python para matemática - Como calcular o MDC (Máximo Divisor Comum) em Python Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados: ---------------------------------------------------------------------- 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 que permite calcular o MDC def MDC(a, b): while(b != 0): resto = a % b a = b b = resto return a # função principal do programa def main(): print("Este programa permite calcular o MDC\n") x = int(input("Informe o primeiro valor: ")) y = int(input("Informe o segundo valor: ")) print("\nO Máximo Divisor Comum de", x, "e", y, "é", MDC(x, y)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
Python ::: Dicas & Truques ::: Data e Hora |
Como obter um datetime da data e hora atual usando o método today() da classe datetime da linguagem PythonQuantidade de visualizações: 10501 vezes |
Neste exemplo mostrarei como podemos usar o método today() da classe datetime do Python para retornar a data e hora local. 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 ---------------------------------------------------------------------- from datetime import datetime def main(): # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe o conteúdo do datetime print("Hoje é: " + str(hoje)) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Hoje é: 2018-03-03 15:54:01.477809 |
Python ::: Python para Engenharia ::: Cálculo Diferencial e Integral |
Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para EngenhariaQuantidade de visualizações: 4347 vezes |
Como calcular o limite de uma função usando Python e a biblioteca Sympy Citando a Wikipédia: Na matemática, o limite de uma função é um conceito fundamental em cálculo e análise sobre o comportamento desta função quando próxima a um valor particular de sua variável independente. Informalmente, diz-se que __$\text{L}__$ é o limite da função __$\text{f(x)}__$ quando __$\text{x}__$ tende a __$\text{p}__$, escreve-se \[ \lim_{x \to p} f(x) = L \] quando __$\text{f(x)}__$ está arbitrariamente próximo de __$\text{L}__$ para todo __$\text{x}__$ suficientemente próximo de __$\text{p}__$. O conceito de limite pode ser estendido para funções de varias variáveis. A biblioteca SymPy da linguagem Python facilita muito o trabalho de se calcular limites. É claro que é sempre uma boa idéia saber calcular o limite de uma função "na mão" mesmo, até para sabermos se nosso código Python está correto. No entanto, em algumas situações, lançar mão da função limit() da SymPy nos poupará um tempo incrível. Dessa forma, a sintáxe para o cálculo do limite na SymPy segue o padrão limit(função, variável, ponto). Então, se quisermos calcular o limite de f(x) com x tendendo a 0, só precisamos fazer limit(f, x, 0). Vamos colocar esse conhecimento em prática então? Veja o seguinte limite: \[ \lim_{x \to 1} 5x^2 + 2x \] Agora observe o código Python completo que calcula e retorna o limite desta funçã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 a biblioteca SymPy from sympy import * def main(): # vamos definir o símbolo x x = symbols("x") # definimos a função f = (5 * x ** 2) + (2 * x) # finalmente calculamos o limite limite = limit(f, x, 1) # e mostramos o resultado print("O limite da função é: %f." % limite) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: O limite da função é: 7.000000. Logo, o limite da função no ponto __$\text{x}__$ = 1 vale 7, em outras palavras, 7 é o valor que __$f(5x^2 + 2x)__$ deveria ter em 1 para ser contínua nesse ponto. Vamos ver mais um exemplo? Observe o seguinte limite: \[ \lim_{x \to 1} \left(\frac{x^2 - 1}{x - 1}\right) \] Aqui temos um situação interessante. Note que temos que fazer uma manipulação algébrica na expressão, fatorando os termos. Porém, mesmo em situações assim o método limit() da Sympy consegue interpretar a expressão simbólica corretamente e nos devolver o limite esperado. Veja o código Python 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 ---------------------------------------------------------------------- # vamos importar a biblioteca SymPy from sympy import * def main(): # vamos definir o símbolo x x = symbols("x") # definimos a função f = (x ** 2 - 1) / (x - 1) # finalmente calculamos o limite limite = limit(f, x, 1) # e mostramos o resultado print("O limite da função é: %f." % limite) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O limite da função é: 2.000000. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do PythonQuantidade de visualizações: 1073 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante. Sua saída deverá ser parecida com: A primeira matriz é: [[4 1 3] [9 2 5]] A segunda matriz é: [[ 3 10 2] [ 1 13 4]] A matriz soma é: [[ 7 11 5] [10 15 9]] Veja a resolução comentada deste exercício em 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 ---------------------------------------------------------------------- # vamos importar a biblioteca NumPy import numpy as np # função principal do programa def main(): # vamos criar a primeira matriz a = np.array([[4, 1, 3], [9, 2, 5]]) # vamos criar a segunda matriz b = np.array([[3, 10, 2], [1, 13, 4]]) # vamos somar as duas matrizes c = a + b # e agora mostramos o resultado print("A primeira matriz é:\n{0}".format(a)) print("A segunda matriz é:\n{0}".format(b)) print("A matriz soma é:\n{0}".format(c)) if __name__== "__main__": main() |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de extremidade O índice de esbeltez de um pilar de extremidade pode ser considerado um parâmetro de verificação da resistência desses elementos à flambagem. Em sua determinação, consideram-se o comprimento equivalente e o raio de giração do pilar. Analise o pilar a seguir e assinale a alternativa que corresponde ao coeficiente de esbeltez nas direções x e y do referido pilar. ![]() A) 50,63 na direção x e 15,5 na direção y. B) 35,75 na direção x e 58,63 na direção y. C) 85,45 na direção x e 25,67 na direção y. D) 71,51 na direção x e 23,84 na direção y. E) 70,35 na direção x e 35,68 na direção y. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual é a forma correta de se criar funções em Python? A) defun calcular(): B) def calcular(): C) void calcular(): D) def calcular(){} E) function calcular(): Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual é a forma correta de se declarar uma variável do tipo inteiro em Python? A) valor = int(20) B) valor = 20 C) As formas A e B estão corretas D) valor = integer(20) E) As formas B e D estão corretas Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública A prefeitura de um município do interior do Estado de Santa Catarina precisa realizar uma licitação para a aquisição de bens de informática considerados comuns, como impressoras, cartuchos, laptops, estabilizadores, etc. A modalidade de licitação mais indicada é: A) convite. B) leilão. C) concurso. D) pregão. E) concorrência. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes Considera-se ___________ a entrega de papéis, bens ou valores ao ____________, encarregado pelo __________, se os recebeu sem ______________, salvo nos casos em que haja prazo para reclamação. Qual opção abaixo preenche corretamente as lacunas? A) Perfeita - preponente - preposto - protesto. B) Inválida - preponente - preposto - protesto. C) Inválida - preposto - preponente - protocolo. D) Perfeita - preposto - preponente - protocolo. E) Perfeita - preposto - preponente - protesto. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |