Как добавить словосочетание в список Python
Вопрос: Функция должна распечатать список продуктов. На вход функции поступает произвольное количество значений. Продуктом считается любая непустая строка. Любые другие типы данных (списки, числа и так далее) нужно проигнорировать. Напечатать список продуктов необходимо в следующем виде: Пример Код:
print_products('печенье', 'хлеб', 'молоко')
Вывод:
- печенье
- хлеб
- молоко Если в переданных значениях не встретится ни одного продукта, то распечатайте: "Нет продуктов".
Проблема: если входные данные [],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)