Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Lista Ligada Simples |
Escreva um programa Python para criar uma lista singularmente ligada, inserir novos nós no final da lista e exibí-los - Exercícios Resolvidos de PythonQuantidade de visualizações: 988 vezes |
Pergunta/Tarefa: Escreva um programa Python para criar uma lista singularmente ligada contendo um método inserir_final() que, quando invocado, criará um novo nó e o armazenará no final da lista encadeada simples. Em seguida exiba todos os nós da lista usando um método exibir_lista(). Sua saída deverá ser parecida com: Os itens da lista são: Goiânia Rio de Janeiro Cuiabá São Paulo O início da lista é: Goiânia O final da lista é: São Paulo 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 ---------------------------------------------------------------------- # esta classe representa um nó da lista ligada class No: # construtor da classe nó def __init__(self, valor=None): self.valor = valor self.proximo = None # fim da classe No # classe ListaLigadaSimples class ListaLigadaSimples: # construtor da classe def __init__(self): # cria uma lista vazia self.inicio = None # aponta para o início da lista self.final = None # aponta para o final da lista self.quant_nos = 0 # mantém a contagem dos nós da lista # insere no final da lista def inserir_final(self, valor): # adiciona um novo nó no final da lista no = No(valor) # a lista já contém nós? if self.final: # o próximo do final da lista aponta para o novo nó self.final.proximo = no # agora o final da lista aponta para o novo nó self.final = no # a lista ainda está vazia else: # inicio aponta para o novo nó self.inicio = no # final aponta para o novo nó self.final = no # aumenta o contador de nós self.quant_nos += 1 def exibir_lista(self): # percorre os itens da lista e imprime cada um item_atual = self.inicio # enquant o item atual for diferente de nulo while item_atual: valor = item_atual.valor print(valor) # avança para o próximo item item_atual = item_atual.proximo # fim da classe ListaLigadaSimples # método principal def main(): # vamos criar uma nova lista lista_cidades = ListaLigadaSimples() # vamos adicionar quatro cidades lista_cidades.inserir_final("Goiânia") lista_cidades.inserir_final("Rio de Janeiro") lista_cidades.inserir_final("Cuiabá") lista_cidades.inserir_final("São Paulo") # vamos mostrar os itens da lista ligada print("Os itens da lista são:\n") lista_cidades.exibir_lista() # vamos mostrar os nós no início e fim da lista print("\nO início da lista é: {}".format(lista_cidades.inicio.valor)) print("O final da lista é: {}".format(lista_cidades.final.valor)) if __name__== "__main__": main() |
![]() |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Python - Python para GeometriaQuantidade de visualizações: 4960 vezes |
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência. É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência. Veja a figura a seguir para relembrar o que é o raio de um círculo: ![]() Nesta dica mostrarei como podemos usar Python para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos: \[\text{Diâmetro d} = 2 \times r \] \[\text{Circunferência C} = 2 \times \pi \times r \] \[\text{Área A} = \pi \times r^2 \] Agora vamos ver o código Python que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área: ---------------------------------------------------------------------- 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 math as math def main(): # vamos ler o raio do círculo raio = float(input("Informe o raio do círculo: ")) # vamos achar o diâmetro do círculo diametro = 2 * raio # agora calculamos a circunferência circunferencia = 2 * math.pi * raio # finalmente calculamos a área do círculo area = math.pi * math.pow(raio, 2) # vamos mostrar os resultados print("O diâmetro do círculo é:", diametro) print("A circunferência do círculo é:", circunferencia) print("A área do círculo é:", area) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe o raio do círculo: 10 O diâmetro do círculo é: 20.0 A circunferência do círculo é: 62.83185307179586 A área do círculo é: 314.1592653589793 Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar em letra maiúscula apenas o primeiro caractere de uma palavra ou frase usando a função capitalize() do PythonQuantidade de visualizações: 11608 vezes |
Nesta dica mostrarei como podemos usar o método capitalize() do objeto string da linguagem Python para transformar em letra maiúscula apenas a primeira letra de uma palavra, frase ou texto. Veja o trecho de código 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(): frase1 = "trabalho, Estudo e toco Guitarra." # converte a primeira letra para maiúsculas e as demais # para letras minúsculas frase2 = frase1.capitalize() # mostra os resultados print("Frase original:", frase1) print("Apenas a primeira letra maiúscula:", frase2) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Frase original: trabalho, Estudo e toco Guitarra. Apenas a primeira letra maiúscula: Trabalho, estudo e toco guitarra. |
Python ::: Dicas & Truques ::: Data e Hora |
Como formatar a data e hora atual em Python usando a função strftime() da classe datetimeQuantidade de visualizações: 10097 vezes |
Nesta dica eu vou mostrar como é possível usar o método strftime() da classe datetime para formatar e mostrar a data e hora atual no Python. 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 def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe a data atual formatada data = hoje.strftime("Hoje é %A, %d de %B de %Y") print(data) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Hoje é segunda-feira, 08 de março de 2019 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando PythonQuantidade de visualizações: 1104 vezes |
Pergunta/Tarefa: Dada a seguinte matriz: 6 10 4 2 9 7 20 3 1 Sua saída deverá ser parecida com: Maior elemento na coluna 0 é 20 Maior elemento na coluna 1 é 10 Maior elemento na coluna 2 é 7 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 constuir uma matriz de 3 linhas e três colunas matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]]; # vamos percorrer a matriz e exibir o maior elemento de cada coluna # começamos com cada coluna for i in range(len(matriz[0])): # assumimos que o maior valor é o primeiro dessa coluna maior = matriz[0][i] # percorremos todos os elementos desta linha for j in range(len(matriz)): # o elemento atual é maior que o maior? if matriz[j][i] > maior: # maior assume o valor atual maior = matriz[j][i] # exibimos o maior elemento desta coluna print("Maior elemento na coluna {0} é {1}".format(i, maior)) if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Leis de Newton |
Exercícios Resolvidos de Física usando Python - Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumentaQuantidade de visualizações: 1809 vezes |
Pergunta/Tarefa: (UFRGS - 2017) Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta 10 m/s a cada 2 s. Qual o valor, em kg, da massa m? a) 5. b) 4. c) 3. d) 2. e) 1. Resposta/Solução: Este é um clássico problema de Física envolvendo a Segunda Lei de Newton, cuja fórmula, em sua forma mais simples é: \[F = m \cdot a \] Olhando para o enunciado, vimos que nos é pedido a massa em kg. Nós já temos a força de 20 N, já convertida para sua medida no SI. No entanto, em vez da aceleração, o problema nos dá a variação da velocidade, que aumenta 10 m/s a cada 2 s. Assim, só precisamos nos lembrar que a aceleração é igual ao valor da variação da velocidade dividido pelo intervalo de tempo. Veja o código Python completo que pede para o usuário informar a força em newtons, a variação da velocidade em metros por segundo e a variação do tempo em segundos e nos retorna a massa em quilos: ---------------------------------------------------------------------- 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 pedir para o usuário informar a força em newtons forca = float(input("Força em newtons: ")) # vamos pedir a variação da velocidade em metros por segundo velocidade = float(input("Variação da velocidade em metros por segundo: ")) # vamos pedir a variação do tempo em segundos tempo = float(input("Variação do tempo em segundos: ")) # agora calculamos a acelaração aceleracao = velocidade / tempo # agora que já temos a aceleracao, podemos calcular a massa massa = forca / aceleracao # e mostramos o resultado print("A massa em quilos é: {0}".format(massa)) if __name__== "__main__": main() Ao executarmos o código Python para o exercício nós teremos o seguinte resultado: Força em newtons: 20 Variação da velocidade em metros por segundo: 10 Variação do tempo em segundos: 2 A massa em quilos é: 4.0 Assim, a resposta correta é a letra b (4 kg) |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Python - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 790 vezes |
Pergunta/Tarefa: Considere os seguintes vetores: # dois vetores de 5 inteiros cada a = [50, -2, 9, 5, 17] b = [0 for x in range(5)] Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 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(): # dois vetores de 5 inteiros cada a = [50, -2, 9, 5, 17] b = [0 for x in range(5)] # vamos preencher o segundo vetor de forma que a soma dos # valores de seus elementos seja 30 for i in range(len(a)): b[i] = 30 - a[i] # vamos mostrar o resultado print("Valores no vetor a: ", end="") for i in range(len(a)): print("{0} ".format(a[i]), end="") print("\nValores no vetor b: ", end="") for i in range(len(b)): print("{0} ".format(b[i]), end="") if __name__== "__main__": main() |
Python ::: Python para Engenharia ::: Física - Hidrodinâmica |
Como representar a Equação da Continuidade em Python - Python para HidrodinâmicaQuantidade de visualizações: 298 vezes |
O que é a Equação da Continuidade? A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos. A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída. Para melhor entendimento veja a seguinte figura: ![]() Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água. Qual é a Fórmula da Equação da Continuidade? Antes de passarmos ao código Python, vamos revisar a Fórmula da Equação da Continuidade. Veja: \[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \] Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos. Vamos escrever código Python agora? A Equação da Continuidade em código Python Para exemplificar como podemos representar a Equação da Continuidade em Python, vamos resolver o seguinte problema? 1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2? a) 20 m/s b) 4 m/s c) 0,25 m/s d) 1,4 m/s e) 0,2 m/s Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados. Veja o código Python completo para a resolução deste exercício de Equação da Continuidade: ---------------------------------------------------------------------- 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 solicitar os dados de entrada v1 = float(input("Velocidade de entrada (m/s): ")) a1 = float(input("Área de entrada (milímetros quadrados): ")) a2 = float(input("Área de saída (milímetros quadrados): ")) # vamos converter as áreas em milímetros quadrados # para metros quadrados a1 = a1 / 1000000 a2 = a2 / 1000000 # agora calculamos a velocidade de saída v2 = (a1 * v1) / a2 # e mostramos o resultado print("A velocidade de saída é: {0} m/s".format(v2)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Velocidade de entrada (m/s): 2 Área de entrada (milímetros quadrados): 200 Área de saída (milímetros quadrados): 100 A velocidade de saída é: 4.0 m/s Portanto, a velocidade do fluido na saída do tubo é de 4 m/s. |
Python ::: Tkinter GUI Toolkit ::: Círculos, Ovais e Elípses |
Como desenhar círculos no Tkinter usando a função create_oval() do componente CanvasQuantidade de visualizações: 1139 vezes |
Em várias situações nós precisamos desenhar círculos não preenchidos e preenchidos em Tkinter. Para isso nós podemos usar a função create_oval() do componente Canvas. Em sua forma mais simples, a função create_oval() requer as coordenadas x e y a partir das quais o círculo ou elípse será desenhada e a largura e a altura do retângulo dentro do qual o círculo estará contido. Para desenhar uma oval ou elípse, basta manipular a largura ou altura desse retângulo. Veja um trecho de código no qual usamos a função create_oval() para desenhar um círculo com 5 pixels de largura da linha de desenho: ---------------------------------------------------------------------- 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 * # método principal def main(): # cria a janela principal da aplicação janela_principal = Tk() # define as dimensões da janela janela_principal.geometry("400x350") # define o título da janela janela_principal.title("Uso do controle Canvas") # vamos criar o objeto Canvas canvas = Canvas(janela_principal, bg="white", width=400, height=350) # colocamos o Canvas na janela principal canvas.grid(row=0, column=0) # agora vamos desenhar um círculo no Canvas começando nas # coordenadas x=20 e y=30 centro de um retângulo de largura # 150 pixels por uma altura de 150 pixels e largura da linha # de 5 pixels canvas.create_oval(20, 30, 150, 150, width="5") # entramos no loop de eventos janela_principal.mainloop() if __name__== "__main__": main() Note que a largura da linha de desenho foi informada por meio do parâmetro width. Se quisermos definir também a cor da linha do desenho, basta usarmos o parâmetro outline e fornecer a cor desejada. |
Vamos testar seus conhecimentos em |
Domínios de Deformações Para o dimensionamento de elementos de concreto armado sujeitos a solicitações normais, é necessário utilizar as relações de tensão-deformação (σ x ε) dos materiais (concreto e aço), as relações de compatibilidade de deformações e as relações de igualdade entre os esforços atuantes e os esforços resistentes. Analise as informações a seguir a respeito das relações referenciadas: I) As relações tensão-deformação referem-se ao comportamento do concreto simples. II) As relações de compatibilidade de deformações são o resultado da hipótese de que as seções permanecem planas até a ruptura e dos domínios de deformação. III) As relações de igualdade entre os esforços atuantes e os resistentes correspondem às equações de equilíbrio de forças e momentos em uma seção de concreto armado. Assinale e alternativa correta: A) Somente a afirmação I está correta. B) Somente as afirmações II e III estão corretas. C) Somente a afirmação II está correta. D) Somente a afirmação III está correta. E) Somente as afirmações I e II estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Qual afirmação é verdadeira em relação aos Survey Points (pontos de levantamento) do AutoCAD Civil 3D? A) Eles podem ser editados na paleta de propriedades. B) Eles possuem um ícone ao seu lado que se parece com um círculo sobreposto por uma cruz. C) Eles não podem ser movidos usando comandos básicos que não sejam específicos do Civil 3D. D) Eles podem ser editados na janela Panorama -> tab Point Editor. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Topografia |
Azimute e Rumo FGV-2015 - No lançamento do projeto geométrico de uma estrada, o topógrafo levantou que o azimute do ponto 10 para o 11 foi de 254º 22' 26''. Nesse caso, o rumo foi de: A) 54º 22' 26'' S B) 54º 22' 26'' NW C) 74º 22' 26'' SW D) 74º 22' 26'' N E) 105º 3' 3'' SW Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
O código de ética profissional: Concorrência No Brasil, a livre concorrência está subordinada ao artigo 173, § 4º, da Constituição Federal. Posteriormente, foi instituído o Conselho Administrativo de Defesa Econômica (Cade), cujo objetivo é ___________. Assinale a alternativa que completa a lacuna de forma correta. A) proteger os consumidores e o mercado internacional de ações desonestas, práticas ilícitas e antiéticas. B) proteger os consumidores, garantir a reserva de mercado para as commodities e combater ações desonestas, práticas ilícitas e antiéticas. C) liberar a fusão entre as empresas como forma de proteger os consumidores e o mercado econômico. D) proibir a entrada de produtos importados, visando à proteção da indústria nacional e dos consumidores. E) proteger os consumidores e o mercado econômico de ações desonestas, práticas ilícitas e antiéticas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações Para o dimensionamento de elementos de concreto armado sujeitos a solicitações normais, é necessário utilizar as relações de tensão-deformação (σ x ε) dos materiais (concreto e aço), as relações de compatibilidade de deformações e as relações de igualdade entre os esforços atuantes e os esforços resistentes. Analise as informações a seguir a respeito das relações referenciadas: I) As relações tensão-deformação referem-se ao comportamento do concreto simples. II) As relações de compatibilidade de deformações são o resultado da hipótese de que as seções permanecem planas até a ruptura e dos domínios de deformação. III) As relações de igualdade entre os esforços atuantes e os resistentes correspondem às equações de equilíbrio de forças e momentos em uma seção de concreto armado. Assinale e alternativa correta: A) Somente a afirmação I está correta. B) Somente as afirmações II e III estão corretas. C) Somente a afirmação II está correta. D) Somente a afirmação III está correta. E) Somente as afirmações I e II estão corretas. 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 |
Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |