Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

O que eu errei?

`Insira aqui a descrição dessa imagem para ajudar na acessibilidade

6 respostas

Opa esqueci de mandar a lista que havia criado Como vocês podem ver, não tem "queijo".. a função não deveria só adicioná-lo? Por que ela em vez disso gerou para cada item "Opa! Já está incluso!" ? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Seu código está correto, mas acho q não era esse resultado q vc queria

O for vai pecorrer todos os itens da lista

Na primeira ferificação o queijo vai ser inderido.

Depois o código vai ficar repetindo até pecorrer todos os itens

lista = ['banana','feijão','arroz','batata']

print('lista inicial',lista)

def confirma_lista(lista):
    for item in lista:
        if "queijo" in lista: # verifica se queijo existe na lista
            print('queijo já existe na lista')
        else:
            lista.append("queijo")
            print('inserido quejo na lista')

confirma_lista(lista)

print('lista final com o queijo incluido',lista)

Oi Luis! Desculpa a demora no feedback! Não entendi ainda. O que era para ocorrer na minha cabeça era:

  1. O python analisa cada um dos itens da minha lista
  2. Verifica se algum deles é "queijo"
  3. Não encontra nenhum item "queijo"
  4. Adiciona o item

Ok. Vc não presisa usar o for

lista = ['banana','feijão','arroz','batata']

print('lista inicial',lista)

def confirma_lista(lista,novo): 
    if novo in lista: # verifica se o novo item já existe na lista
        print(f"{novo} já existe na lista")
    else:
        lista.append(novo)
        print(f"inserido {novo} na lista")

confirma_lista(lista,"feijão")
confirma_lista(lista,"queijo")

print('lista final',lista)

Saída esperada

lista inicial ['banana', 'feijão', 'arroz', 'batata']
feijão já existe na lista
inserido queijo na lista
lista final ['banana', 'feijão', 'arroz', 'batata', 'queijo']
solução!

Usando o for

lista = ['banana','feijão','arroz','batata']

print('lista inicial',lista)

def confirma_lista(lista,novo): 
    for item in lista:
        if novo == item: # verifica se existe na lista
            print(f"{novo} já existe na lista")
            return   # se encontrar, encerra a função
    lista.append(novo)
    print(f"inserido {novo} na lista")

confirma_lista(lista,"feijão")
confirma_lista(lista,"queijo")


print('lista final',lista)

A saída é igual

Nossa Luis, Vlw! Entendi agora!