Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#Questao1 def MultiplicaPar(self): atual = self.inicio sum = 0 while atual != None: if atual.pegaDado()%2 == 0: sum = sum + atual.pegaDado() atual = atual.pegaProximo() return sum #Questao2 #Opção 5 - É impresso para P: 10, 29, 18, 8, 50, 25, 14, 23, 12, 11. (Topo) #Questao3 class Aviao: def __init__(self): self.items = [] def AdicionarAviao(self, nome, num): #Funcao adiciona um avião à fila de espera; aviao = (nome,num) self.items.insert(0,aviao) def AutorizarDecolagem(self): #Funcao autoriza a decolagem do primeiro avião da fila; return self.items.pop() def CacarPrimeiroAviao(self): #Funcao lista as características do primeiro avião da fila. print(self.items[-1]) def Tamanho(self): #Funcao lista o número de aviões aguardando na fila de decolagem; return len(self.items) def TodosOsAvioes(self): #Funcao lista todos os aviões na fila de espera; for i in self.items: print(i) #Questao4 #Resposta : 11 e 29 #Questao5 def Maior(self): atual = self.inicio maior = 0 while atual != None: if atual.pegaDado() > maior: maior = atual.pegaDado() atual = atual.pegaProximo() return maior #Questao6 #x1 e x2 são ListaNaoOrdenada; #C é uma ListaNaoOrdenada; def Uniao(self, x1, x2): atualx1 = x1.inicio atualx2 = x2.inicio while atualx1 != None: if atualx1.pegaDado() != None: self.Inserir(atualx1.pegaDado()) atualx1 = atualx1.pegaProximo() while atualx2 != None: if self.Repetidos(atualx2.pegaDado()) >= 1: self.Remove(atualx2.pegaDado()) if atualx2 != None: self.Inserir(atualx2.pegaDado()) atualx2 = atualx2.pegaProximo() def Interseccao(self, x1, x2): atualx1 = x1.inicio atualx2 = x2.inicio while atualx1 != None and atualx2 != None: if x1.Buscar(atualx2.pegaDado()) == True: self.Inserir(atualx2.pegaDado()) atualx2 = atualx2.pegaProximo() def Diferenca(self, x1, x2): atualx1 = x1.inicio atualx2 = x2.inicio while atualx1 != None and atualx2 != None: if x1.Buscar(atualx2.pegaDado()) == False: self.Inserir(atualx2.pegaDado()) if x2.Buscar(atualx1.pegaDado()) == False: self.Inserir(atualx1.pegaDado()) atualx2 = atualx2.pegaProximo() atualx1 = atualx1.pegaProximo() #Questao7 ''' Questao Ambigua Fiquei na duvida em remover todos os elementos que se repetiam, sem deixar nem um Ou remover os repetidos e deixar apenas ''' #Criei uma funcao para auxilar na busca de repetidos def Repetidos(self,item): #Se o item for repetido retorna a quantidade que este item se repete. atual = self.inicio cont = 0 while atual != None: if atual.pegaDado() == item: cont +=1 atual = atual.pegaProximo() return cont def RemoverRepetidos(self): #Remove um item repetido deixando apenas um atual = self.inicio while atual != None: rep = self.Repetidos(atual.pegaDado()) if rep > 1: self.Remove(atual) atual = atual.pegaProximo() def RemoverTodosRepetidos(self): #Remove todos os items que se repetem atual = self.inicio while atual!= None: rep = self.Repetidos(atual.pegaDado()) if rep > 1: while self.Buscar(atual.pegaDado()) != False: self.Remove(atual.pegaDado()) rep = self.Repetidos(atual) atual = atual.pegaProximo()
Compartilhar