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: 906 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # 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() |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma substring está contida no final de uma string em Python usando a função endswith()Quantidade de visualizações: 8980 vezes |
Em várias situações nós precisamos verificar se uma palavra, frase ou texto termina com um determinado texto, ou seja, uma substring. A linguagem Python nos oferece a função endswith(), que possui a seguinte assinatura:endswith(substring[, start[, end]]) Se o argumento start for especificado, a busca inicia a partir de tal índice. Se o argumento end for especificado, a busca terminará no índice definido. Dessa forma, a função endswith retorna 1 se a substring estiver contida no final da string. Do contrário, o valor 0 será retornado. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): frase = "Gosto de programar em Java" if frase.endswith("Java") == 1: print("A frase termina com \"Java\"") else: print("A frase NÃO termina com \"Java\"") if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: A frase termina com "Java" |
Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variávelQuantidade de visualizações: 13532 vezes |
Em algumas situações nós gostaríamos de verificar o tipo de uma variável, ou seja, o tipo do valor que ele contém no momento, antes de efetuar algum cálculo ou procedimento. Em Python isso pode ser feito por meio da função type(), que nos retorna uma string indicando o tipo de dados sendo armazenado no momento. Note que, em Python, uma mesma variável pode assumir tipos diferentes durante a execução do programa. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): var = "Osmar J. Silva" print("O tipo da variavel var é:", type(var)) var = 45 print("Agora o tipo da variavel var é:", type(var)) var = 45.30 print("E agora o tipo da variavel var é:", type(var)) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O tipo da variavel var é: <class 'str'> Agora o tipo da variavel var é: <class 'int'> E agora o tipo da variavel var é: <class 'float'> |
Python ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular fatorial em Python usando uma função recursivaQuantidade de visualizações: 14779 vezes |
Sempre que estamos no assunto de recursão (ou recursividade), um dos primeiros exemplos que vêm à nossa mente é o cálculo de fatorial, pois seu entendimento é fácil e, dessa forma, podemos nos concentrar nos aspectos da função recursiva. Na matemática, o fatorial de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. O fatorial de um número n pode ser definido recursivamente da seguinte forma: 0! = 1; n! = n x (n - 1)!; sendo n > 0 Entendida esta definição, veja agora o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função recursiva para calcular o fatorial de um número def fatorial(num): if num <= 1: return 1 else: return num * fatorial(num - 1) # função principal do programa def main(): for i in range(11): print("%2d! = %d" % (i, fatorial(i))) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 Note que aqui nós calculamos e exibimos o fatorial dos números de 0 até 10. |
Vamos testar seus conhecimentos em JavaScript |
Qual das seguintes instruções JavaScript é uma definição correta de um array? A) a = new Array[100]; B) var a = new Array(100); C) var[] a = new String[100]; D) var a = new Array[100]; Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Tipos de Escoamentos Um conduto cilíndrico interliga dois tanques de cerveja artesanal a uma velocidade constante e com diferença de 10 metros entre suas cotas. O fluido dentro dos tanques é mantido a uma pressão de 101.325 Pa e ocupa 95% da área do conduto quando transportado. Defina que tipo de escoamento ocorre nesse conduto e quais são os principais parâmetros que devem ser levados em consideração em seu cálculo de dimensionamento ou verificação. A) Ocorre escoamento em conduto forçado, pois o fluido está confinado sob uma pressão diferente da atmosférica. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. B) Ocorre escoamento à superfície livre, pois, mesmo tendo uma pressão diferente da atmosférica, o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. C) Ocorre escoamento em conduto forçado, pois 95% preenchem praticamente toda a área do contorno sólido que confina a cerveja. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques. D) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento. E) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte trecho de código JavaScriptvar a = new Array(); a[0] = 12; a[1] = false; a[2] = "texto"; a[3] = a; Qual destas instruções provocará um erro de execução? A) Linha 3 B) Linha 4 C) Linha 5 D) O código executa sem provocar erros Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas A grande vantagem das estacas moldadas in solo em relação às pré-moldadas é permitir que o comprimento estritamente necessário seja concretado. O tipo de fundação profunda constituída por concreto, moldada in loco e executada por meio de trado contínuo e injeção de concreto pela própria haste do trado, é a: A) estaca escavada mecanicamente. B) estaca injetada. C) estaca hélice contínua. D) estaca Franki. E) estaca-raiz. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de combate a incêndio A norma NBR 13714 estabelece os critérios mínimos exigíveis para sistemas de hidrantes e de mangotinhos, para uso exclusivo no combate a incêndio. Com base nesses critérios, assinale a alternativa correta: A) Uma edificação com área de 850m2 não necessita de um sistema de mangotinhos ou de hidrantes para proteção contra incêndio. B) O ponto de tomada de água para hidrantes e mangotinhos pode ser instalado a até 10m de distância das portas externas e escadas. C) Os hidrantes devem ser distribuídos de tal forma que qualquer ponto da área a ser protegida seja alcançado por no mínimo dois esguichos. D) Uma edificação com parede externa de 12m de altura necessita que o hidrante externo seja instalado afastado no máximo 18m da edificação. E) Uma edificação com parede externa de 12m de altura necessita que o ponto de tomada de água seja instalado a no máximo 2m em relação ao piso. 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 |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |