1
resposta

[Projeto] Solução para verificando itens na despensa

A solução abaixo leva em consideração se o item e a lista de compras existem e são do tipo correto.

lista_compras = ['ovo', 'leite', 'bife', 'sabão em pó']

def verificar_item(item: str, lista: list) -> None:
    if type(item) is not str:
        print(f'O item precisa ser uma string.')
        return
    
    if not item:
        print(f'O item precisa ser informado.')
        return

    if type(lista) is not list:
        print(f'A lista precisa ser do tipo list.')
        return
    
    if not lista:
        print(f'A lista está vazia')
        return

    if item in lista:
        print(f'{item.title()} presente na lista de compras.')
    else:
        print(f'O item {item.title()} precisa ser comprado.')

verificar_item(1, lista_compras)
verificar_item('açúcar', [])
verificar_item('', lista_compras)
1 resposta

Oi, Gabriel! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei bastante do cuidado que você teve ao validar o tipo do item e da lista, além de verificar se estão vazios antes de continuar. Isso mostra atenção com possíveis erros e deixa a função mais segura e organizada. O uso do item in lista também foi bem aplicado para verificar a presença do elemento.

Uma dica interessante para o futuro é utilizar isinstance() no lugar de type(), pois ele é mais flexível e recomendado em Python.


lista_compras = ['ovo', 'leite', 'bife', 'sabao em po']

def verificar_item(item, lista):
    if not isinstance(item, str):
        print('item precisa ser string')
        return

    if isinstance(lista, list) and item in lista:
        print('item encontrado na lista')

Nesse código, isinstance() verifica se a variável pertence a um tipo específico, deixando a validação mais adequada e pythonica.

Conteúdos relacionados
Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

```