Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com exercício Python!


Isildur1

Pergunta

Ola pessoal, boa tarde!

Foi passado em aula, o seguinte exercício:

Faça um programa que leia duas listas e que gere uma terceira lista com os elementos das duas primeiras.

A partir da terceira lista, gere uma quarta lista sem repetições.            

Dica: se achar um elemento repetido utilize o comando del. 

 

A partir dai, desenvolvemos esse programinha para resolver o exercício:

primeira = []
segunda = []
while True:
    e = int(input("primeira lista (0 para terminar):"))
    if e==0:
        break
    primeira.append(e)
while True:
    e = int(input("segunda lista (0 para terminar):"))
    if e==0:
        break
    segunda.append(e)
terceira = primeira[:] 
terceira.extend(segunda)
x=0
while x < len(terceira):
    print("%d: %d" % (x, terceira[x]))
    x=x+1
 

mas não consegui partir para a quarta lista, sendo que tem que utilizar o comando del,

para não aparecer números duplicados na quarta lista

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Eu acho que consegui fazer o que você quer, vejo o código funcionando clicando aqui.

O código final ficou assim:

Utilizei o que você me deu e modifiquei o final colocando a quarta lista.

Não utilizei nenhuma função para facilitar o processo já que se trata de um exercício de faculdade creio eu. Mas existe o set() que faz exatamente isso, ele elimina qualquer coisa repetida.

Espero ter ajudado.

primeira = []
segunda =  []

while True:
    e = int(input("primeira lista (0 para terminar):"))
    if e == 0:
        break
    primeira.append(e)

while True:
    e = int(input("segunda lista (0 para terminar):"))
    if e == 0:
        break
    segunda.append(e)
terceira = primeira[:]
terceira.extend(segunda)
x=0
while x < len(terceira):
    print("%d: %d" % (x,  terceira[x]))
    x=x+1

y = 0 # Item que vai servir de base para comparação
x = y+1 # Item que vai ser comparado, tem que estar sempre a frente do Y

while True:
    if terceira[y] == terceira[x]:
        del terceira[x] # Deleto o item repetido
    else:
        x += 1 # Se não for repetido eu avanço uma posição e vou para o próximo.
    if x >= len(terceira):
        y += 1 # Se x ultrapassou o limite, vamos para o próximo item
        x = y+1 # Item a ser analisado, novamente sempre a frente do Y
        if y >= len(terceira)-1: # Se Y chegar no último elemento, encerra.
            break

quarta = terceira[:]
print(quarta)

 

Editado por AntonyBR
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...