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)