Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Python ::: Estruturas de Dados ::: Filas

Como criar uma fila em Python usando um vetor de inteiros e programação orientada a objetos - A classe Fila

Quantidade de visualizações: 654 vezes
Uma fila é uma estrutura de dados do tipo FIFO (First-In-First-Out), na qual o primeiro elemento a entrar na estrutura é o primeiro a ser removido.

Há inúmeras formas de se implementar uma fila em Python. Nesta dica mostrarei como podemos realizar essa tarefa usando uma classe Fila, na qual usaremos um vetor redimensionável (criado a partir de um objeto List).

Note que a nossa classe Fila possui os seguintes métodos enfileirar(), desenfileirar(), is_cheia(), is_vazia() e exibir().

Veja o código completo para a classe Fila:

Código para fila.py:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# definição da classe Fila
class Fila:
  # construtor da classe
  def __init__(self, capacidade):
    # vetor usado para guardar os elementos
    self.elementos = [None] * capacidade
    # para controlar o início da fila
    self.inicio = 0
    # para controlar o final da fila
    self.fim = 0
    # para registrar o tamanho da fila
    self.tamanho = 0
    # manter um registro da capacidade
    self.capacidade = capacidade

  # método que permite verificar se a fila está cheia
  def is_cheia(self):
    # a capacidade é igual ao tamanho da fila?  
    return self.capacidade == self.tamanho

  # método que permite enfileirar um novo valor na fila
  def enfileirar(self, valor):
    # a fila está cheia?
    if self.is_cheia():
      raise Exception("A fila está cheia")

    # insere o novo elemento no final da fila
    self.elementos[self.fim] = valor
    # ajusta a variável fim para a próxima posição
    self.fim += 1
    # incrementa o tamanho da fila
    self.tamanho += 1
    # mostra uma mensagem de sucesso para fins de depuração
    print("O valor {0} foi enfileirado.".format(valor))

  # método que permite desenfileirar o elemento na frente da fila
  def desenfileirar(self):
    # a fila está vazia?
    if self.is_vazia():
      raise Exception("A fila está vazia")

    # a fila não está vazia. Vamos retornar o elemento na frente
    valor = self.elementos[self.inicio]
    # inicio agora aponta para o próximo elemento
    self.inicio += 1
    
    # depois da remoção a lista vai ficar vazia?
    if self.inicio == self.fim:
      self.inicio = 0
      self.fim = 0

    # diminuimos o tamanho da fila
    self.tamanho -= 1
    # retorna o elemento removido
    return valor

  # método que permite verificar se a fila está vazia
  def is_vazia(self):
    # o tamanho da fila é 0?  
    return self.tamanho == 0

  # método que permite exibir o conteúdo da fila
  def exibir(self):
    if not self.is_vazia():
      # varremos os elementos da fila
      print("Elementos na fila:", end=" ")
      for i in range(self.inicio, self.fim):
        print(self.elementos[i], end=" ")

      print("\nO elemento no início da fila é: {0}".format(self.elementos[self.inicio]))
      print("O elemento no final da fila é: {0}".format(self.elementos[self.fim - 1]))
      print("O índice do elemento no início da fila é: {0}".format(self.inicio))
      print("O índice do elemento no final da fila é: {0}".format(self.fim - 1))

Código para principal.py:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar a classe Fila
from fila import Fila

# função principal do programa
def main():
  # vamos criar uma nova fila com capacidade para 10 elementos
  fila = Fila(10)

  # vamos enfileirar 4 valores
  if not fila.is_cheia():
    fila.enfileirar(30)
    fila.enfileirar(19)
    fila.enfileirar(73)
    fila.enfileirar(58)
  else:
    print("A fila está cheia")

  # agora vamos exibir o conteúdo da fila
  if not fila.is_vazia():
    fila.exibir()

  # vamos desenfileirar 3 valores 
  if not fila.is_vazia():
    valor = fila.desenfileirar()
    print("O valor {0} foi desenfileirado.".format(valor))
  if not fila.is_vazia():
    valor = fila.desenfileirar()
    print("O valor {0} foi desenfileirado.".format(valor))
  if not fila.is_vazia():
    valor = fila.desenfileirar()
    print("O valor {0} foi desenfileirado.".format(valor))  

  # agora vamos exibir o conteúdo da fila novamente
  if not fila.is_vazia():
    fila.exibir()

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O valor 30 foi enfileirado.
O valor 19 foi enfileirado.
O valor 73 foi enfileirado.
O valor 58 foi enfileirado.
Elementos na fila: 30 19 73 58
O elemento no início da fila é: 30
O elemento no final da fila é: 58
O índice do elemento no início da fila é: 0
O índice do elemento no final da fila é: 3
O valor 30 foi desenfileirado.
O valor 19 foi desenfileirado.
O valor 73 foi desenfileirado.
Elementos na fila: 58
O elemento no início da fila é: 58
O elemento no final da fila é: 58
O índice do elemento no início da fila é: 3
O índice do elemento no final da fila é: 3

Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Strings e Caracteres

Como obter o tamanho (comprimento) de uma string em Python usando a função len()

Quantidade de visualizações: 12193 vezes
Em várias situações nós precisamos obter o tamanho, ou seja, comprimento de uma palavra, frase ou texto na linguagem Python. Para isso nós podemos usar a função len(), pré-definida na linguagem.

Veja o código para um exemplo completo de seu uso:

----------------------------------------------------------------------
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 frase
  frase = "Gosto de Python"
  # vamos obter o comprimento da frase
  tam = len(frase)
  # e mostramos o resultado
  print("A frase contém", tam, "letras")
 
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

A frase contém 15 letras


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercícios Resolvidos de Python - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em Python

Quantidade de visualizações: 650 vezes
Pergunta/Tarefa:

Escreva um programa Python que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10().

Sua saída deverá ser parecida com:

Informe um número inteiro: 48763
A soma do primeiro e do último dígito é: 7
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos pedir para o usuário informar um número inteiro
  numero = int(input("Informe um número inteiro: "))
    
  # vamos obter a quantidade (-1) de dígitos no número informado
  quant = int(math.log10(numero))
  primeiro_digito = (int)(numero / pow(10, quant))
  ultimo_digito = numero % 10
  	
  # soma o primeiro e o último dígito
  soma = primeiro_digito + ultimo_digito
	
  # mostra o resultado
  print("A soma do primeiro e do último dígito é: {0}".format(soma))
  
if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Strings e Caracteres

Como pesquisar uma substring em uma string usando a função find() da linguagem Python

Quantidade de visualizações: 12244 vezes
Nesta dica mostrarei como podemos usar o método find() do objeto string da linguagem Python para pesquisar uma
substring em uma string. A assinatura dessa função é:

find(substring[, start[, end]])


onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa.

Se a substring não for encontrada, o valor -1 é retornado. Se for encontrada, o índice do primeiro caractere é retornado.

Veja um exemplo completo do seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  frase = "Gosto de Python e JavaScript"

  indice = frase.find("Python")
  if indice != -1:
    print("A palavra foi encontrada no índice", indice)
  else:
    print("A palavra não foi encontrada")

if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

A palavra foi encontrada no índice 9.


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 no código de defesa do consumidor

Qual é o prazo decadencial previsto em lei para reclamar o vício do produto, considerando que o vício está em um automóvel?

A) 5 dias.

B) 15 dias.

C) 30 dias.

D) 60 dias.

E) 90 dias.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Responsabilidade civil dos prepostos e preponentes

É definido como a pessoa que responde pelos atos da atividade empresária e normalmente pode também ser identificado como o patrão, empregador ou dono do negócio. Assinale a alternativa que corresponde a esta definição.

A) Preposto.

B) Gerente.

C) Preponente.

D) Contabilista.

E) Advogado.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

palavra = "FACULDADE"
resultado = palavra[0:len(palavra):2]
print(resultado)

A) EALCF

B) FACULDADE

C) FA

D) DADE

E) FCLAE
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Processos e técnicas construtivas de instalações elétricas e hidráulicas

As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas.

I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação.

II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica.

III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos.

IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica.

Assinale a alternativa que apresenta somente as afirmativas corretas.

A) Apenas a afirmativa I está correta.

B) Apenas a afirmativa III está correta.

C) Apenas as afirmativas II e III estão corretas.

D) Apenas as afirmativas I, II e IV estão corretas.

E) As afirmativas I, II, III e IV 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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.