Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Criar uma classe Veiculo com os atributos marca, modelo e cor. Peça para o usuário fornecer os valores dos atributos - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 851 vezes |
Pergunta/Tarefa: Escreva um programa Python contendo uma classe Veiculo com os atributos marca, modelo e cor. A classe deverá conter um construtor, mas não é obrigatório implementar encapsulamento de dados. Então, no código principal do programa, crie uma nova instância da classe Veiculo, peça para o usuário informar os valores para os atributos e mostre-os em seguida. Sua saída deverá ser parecida com: Informe a marca: FIAT Informe o modelo: SIENNA Informe a cor: AMARELO Os dados do veículo são: Marca: FIAT Modelo: SIENNA Cor: AMARELO Veja a resolução comentada deste exercício em Python: Vamos começar com o código para a classe Veiculo, no arquivo veiculo.py: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # definição da classe Veiculo class Veiculo: # construtor da classe def __init__(self, marca, modelo, cor): self.marca = marca self.modelo = modelo self.cor = cor Agora veja o código para o arquivo principal, que chamei de estudos.py: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar a classe Veiculo from veiculo import Veiculo # função principal do programa def main(): # vamos pedir para o usuário fornecer a marca, o modelo # e a cor do veículo marca = input("Informe a marca: ") modelo = input("Informe o modelo: ") cor = input("Informe a cor: ") # vamos declarar um objeto da classe Veiculo veiculo = Veiculo(marca, modelo, cor) # agora mostramos o resultado print("\nOs dados do veículo são:") print("Marca: {0}".format(veiculo.marca)) print("Modelo: {0}".format(veiculo.modelo)) print("Cor: {0}".format(veiculo.cor)) if __name__== "__main__": main() Fiquei atento(a) à linha que importa a classe Veiculo para dentro do arquivo principal. |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Estruturas de Dados ::: Lista Ligada Simples |
Como excluir um nó no final de uma lista encadeada simples em PythonQuantidade de visualizações: 1076 vezes |
Nesta dica mostrarei como podemos escrever um método remover_final() que remove e retorna o nó no final de uma lista encadeada simples em Python, ou seja, excluí o último nó da lista. É importante observar que o método exclui o último nó e o retorna completo, inclui o valor que está incluído nele. Se a lista estiver vazia o método retorna o valor None para indicar lista vazia. 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 null, se este for o único nó ou o último nó da lista ligada. Veja agora o código para a classe ListaLigadaSimples (lista_ligada_simples.py), com os métodos inserir_inicio(), remover_final() e exibir(): ---------------------------------------------------------------------- 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 deleta um nó no final de uma lista ligada # este método retorna o nó excluído def remover_final(self): # a lista está vazia? if self.inicio == None: return None else: # vamos excluir e retornar o primeiro nó da lista removido = self.inicio # a lista possui apenas um nó? if self.inicio.get_proximo() == None: # a lista agora ficará vazia self.inicio = None else: # começamos apontando para o início da lista no_atual = self.inicio no_anterior = self.inicio # enquanto o próximo do nó atual for diferente de nulo while no_atual.get_proximo() != None: # avançamos o nó anterior no_anterior = no_atual # saltamos para o próximo nó no_atual = no_atual.get_proximo() # na estamos na posição de exclusão removido = no_atual no_anterior.set_proximo(None) # retorna o nó removido return removido # 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 main() que insere alguns valores no início da nossa lista singularmente encadeada e testa o método remover_final(): ---------------------------------------------------------------------- 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() print("Insere o valor 12 no início da lista") lista.inserir_inicio(12) print("Conteúdo da lista: ") lista.exibir() print("Insere o valor 30 no início da lista") lista.inserir_inicio(30) print("Conteúdo da lista: ") lista.exibir() print("Insere o valor 27 no início da lista") lista.inserir_inicio(27) print("Conteúdo da lista: ") lista.exibir() print("Remove um nó no final da lista") removido = lista.remover_final() if removido == None: print("Não foi possível remover. Lista vazia") else: print("Nó removido:", removido.get_info()) print("Conteúdo da lista: ") lista.exibir() if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Insere o valor 12 no início da lista Conteúdo da lista: 12 Insere o valor 30 no início da lista Conteúdo da lista: 30 12 Insere o valor 27 no início da lista Conteúdo da lista: 27 30 12 Remove um nó no final da lista Nó removido: 12 Conteúdo da lista: 27 30 |
Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar de uma matriz é uma matriz identidade usando PythonQuantidade de visualizações: 1167 vezes |
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: Veja um código Python completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): n = 3; # ordem da matriz quadrada matriz = [[0 for x in range(n)] for y in range(n)] # matriz quadrada identidade = True # vamos pedir para o usuário informar os elementos da matriz for i in range(n): for j in range(n): matriz[i][j] = int(input("Elemento na linha {0} e coluna {0}: ".format( (i + 1), (j + 1)))) # agora verificamos se a matriz é uma matriz identidade for linha in range(n): for coluna in range(n): if (matriz[linha][coluna] != 1) and (matriz[coluna][linha] != 0): identidade = False break # agora mostramos a matriz lida print() for i in range(n): for j in range(n): print(matriz[i][j], end=' ') print() if identidade: print("\nA matriz informada é uma matriz identidade.") else: print("\nA matriz informada não é uma matriz identidade.") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Python ::: Dicas & Truques ::: Lista (List) |
Python para iniciantes - Como usar o tipo de dados list da linguagem PythonQuantidade de visualizações: 7750 vezes |
O tipo de dados list é um dos quatro tipos de dados já incluídos no Python (sem a necessidade de importar outros módulos), a saber, tuple, set e dict (dictionary), cada um com qualidades e uso diferentes. Uma list é uma sequência mutável e ordenada de itens. Os itens de uma list são objetos arbitrários e podem ser de diferentes tipos. Para especificar uma list, podemos usar uma série de expressões (os itens da lista) separadas por vírgulas e entre colchetes ([]). Opcionalmente podemos inserir uma vírgula redundante depois do último item. Para denotar uma lista vazia, use um par de colchetes. Veja alguns exemplos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # uma list com nomes de pessoas nomes = ['Carlos', 'Fabiana', 'Jorge'] print(nomes[0]) # uma list com valores inteiros valores = [3, 7, 34, 0, 2] print((valores[1] + valores[4])) # uma lista vazia lista = [] print(len(lista)) É possível também construir uma lista usando a palavra-chave list. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): # uma list com nomes de pessoas nomes = list(['Carlos', 'Fabiana', 'Jorge']) print("O nome escolhido é", nomes[0]) if __name__== "__main__": main() Ao executar este último exemplo nós teremos o seguinte resultado: O nome escolhido é Carlos |
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 |