Você está aqui: Python ::: Estruturas de Dados ::: Lista Ligada Simples |
Como inserir um nó no início de uma lista singularmente ligada em PythonQuantidade de visualizações: 915 vezes |
Nesta dica eu mostrarei, em detalhes, como podemos inserir nós no início de uma lista ligada simples (singly linked list) em Python. Note que mostrarei também a classe No usada para o exemplo, assim como o método exibir() que permitirá imprimir todos os nós na lista encadeada simples e seus valores correspondentes. Em mais dicas desta seção você aprenderá como implementar os demais métodos. Vamos começar então com o código para a classe No da lista singularmente ligada (que salvei em um arquivo no_lista_singularmente_ligada.py): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # classe No para uma lista singularmente encadeada ou # ligada - Singly Linked List class No: # construtor da classe No def __init__(self, info, proximo): self.info = info self.proximo = proximo # método que permite definir o conteúdo do nó def set_info(self, info): self.info = info # método que permite obter a informação de um nó def get_info(self): return self.info # método que permite definir o campo próximo deste nó def set_proximo(self, proximo): self.proximo = proximo # método que permite obter o campo próximo deste nó def get_proximo(self): return self.proximo # retorna True se este nó apontar para outro nó def possui_proximo(self): return self.proximo != None Veja que o código para a classe Nó não possui muitas firulas. Temos apenas um campo info, que guardará o valor do nó, e um campo próximo, que aponta para o próximo nó da lista, ou None, se este for o único nó ou o último nó da lista ligada. Veja agora o código para a classe ListaLigadaSimples (lista_singularmente_ligada.py): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa a classe No from no_lista_singularmente_ligada import No # classe ListaLigadaSimples class ListaLigadaSimples: # construtor da classe def __init__(self): self.inicio = None # nó inicial da lista # método que permite inserir um novo nó no início da lista def inserir_inicio(self, info): # cria um novo nó contendo a informação e que # não aponta para nenhum outro nó novo_no = No(info, None) # a lista ainda está vazia? if self.inicio == None: # o novo nó será o início da lista self.inicio = novo_no else: # o novo nó aponta para o início da lista novo_no.set_proximo(self.inicio) # o novo nó passa a ser o início da lista self.inicio = novo_no # método que permite exibir todos os nós da lista # ligada simples (lista singularmente encadeada) def exibir(self): # aponta para o início da lista no_atual = self.inicio # enquanto o nó não for nulo while no_atual != None: # exibe o conteúdo do nó atual print(no_atual.get_info()) # pula para o próximo nó no_atual = no_atual.get_proximo() E agora o código Python que testa a lista encadeada simples: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa a classe ListaLigadaSimples from lista_singularmente_ligada import ListaLigadaSimples # método principal def main(): # cria uma nova lista encadeada simples lista = ListaLigadaSimples() # insere vários valores, sempre no início da lista lista.inserir_inicio(30) lista.inserir_inicio(71) lista.inserir_inicio(98) lista.inserir_inicio(4) # exibe todo o conteúdo da lista ligada lista.exibir() if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py 4 98 71 30 |
![]() |
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: 8685 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 ::: PyQt GUI Toolkit ::: QMainWindow |
Como criar a janela principal de uma aplicação Python PyQt usando a classe QMainWindowQuantidade de visualizações: 1365 vezes |
Em geral toda aplicação GUI, ou seja, uma aplicação de interface visual, rodando no Window, Linux, MAC, etc, possui uma janela principal. No PyQt tal janela é criada como uma instância da classe QMainWindow. Veja a posição desta classe na hierarquia de classes do PyQt: QObject, QPaintDevice QWidget QMainWindow Uma janela QMainWindow possui o seu próprio layout, no qual podemos adicionar uma barra de ferramentas QToolBar, um QDockWidget (que serve para controles que "grudam" em lados diferentes da tela), uma barra de menus QMenuBar e uma barra de status QStatusBar. O layout oferecido pela classe QMainWindow possui uma área central que pode ser ocupada por qualquer tipo de controle visual. É nessa área central que podemos colocar outros tipos de gerenciadores de layouts, que servirão como containers para os componentes visuais da aplicação. Veja uma aplicação PyQt completa na qual temos uma janela principal QMainWindow e um botão QPushButton. Observe como tiramos proveito da programação orientada em Python para criar uma classe JanelaPrincipal que herda de QMainWindow: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # vamos criar uma classe que herda de QMainWindow class JanelaPrincipal(QMainWindow): # construtor da classe def __init__(self): super().__init__() # definimos o título da janela self.setWindowTitle("Cadastro de Produtos") # vamos criar um botão QPushButton botao = QPushButton("Novo Produto") # definimos este botão como o controle central # da janela principal self.setCentralWidget(botao) if __name__== "__main__": # cria a aplicação app = QApplication(sys.argv) # cria a janela principal e a coloca visível janela_principal = JanelaPrincipal() janela_principal.show() # executa a aplicação app.exec() |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como formatar valores de ponto-flutuante com uma determinada quantidade de zeros à esquerda em PythonQuantidade de visualizações: 8924 vezes |
Este trecho de código Python mostra como formatar um valor de ponto-flutuante com uma determinada quantidade de zeros à sua esquerda. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): valor1 = 343.1 valor2 = 3.5 # exibirá 0342.10 print("O valor é %07.2f" % valor1) # exibirá 0342.10 e 00003.50 print("Os valor são %06.2f e %08.2f" % (valor1, valor2)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O valor é 0343.10 Os valor são 343.10 e 00003.50 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia Delphi - Como obter a quantidade de caracteres em uma palavra ou texto usando a função Length() do Delphi |
Códigos Fonte |
![]() 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 |
![]() 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 |