Как добавить словосочетание в список Python

Вопрос: Функция должна распечатать список продуктов. На вход функции поступает произвольное количество значений. Продуктом считается любая непустая строка. Любые другие типы данных (списки, числа и так далее) нужно проигнорировать. Напечатать список продуктов необходимо в следующем виде: Пример Код:

print_products('печенье', 'хлеб', 'молоко')

Вывод:

  1. печенье
  2. хлеб
  3. молоко Если в переданных значениях не встретится ни одного продукта, то распечатайте: "Нет продуктов".

Проблема: если входные данные [],1234,{},блины,шоколадные батончики, то на выходе получаю 1. блины. А нужно:

1. блины 
2. шоколадные батончики. 

Проблема именно в словосочетании "шоколадные батончики". Подскажите, как реализовать добавление словосочетания?

#Код

args = input().split(",")

def print_products(*args):
    products = []
    for arg in args:
        if isinstance(arg, str) and arg.strip():
            if arg.strip().isalpha() or arg.strip().isspace():
                products.append(arg)

    if products:
        for i, product in enumerate(products, 1):
            print('{}. {}'.format(i, product))
    else:
        print("Нет продуктов")

print_products(*args)

Ответы (2 шт):

Автор решения: Юрыч BRO

Проверка каждого символа на принадлежность к набору допустимых

args = input().split(",")

def print_products(*args):
    products = []
    for i in args:
        for character in i:
            if character.lower() not in "qwertyuiopasdfghjklzxcvbnmйцукенгшщзхъфывапролджэячсмитьбю ":
                continue
        products.append(i)
→ Ссылка
Автор решения: MBo
for arg in args:
    words = arg.split(" ")
    if all(word.isalpha() for word in words):
        products.append(arg)
→ Ссылка