Робоче середовище з ШІ для коду
Обмеження комбінацій опцій
Перелічуйте комбінації впорядкованих товарних опцій лише після перевірки ліміту результатів.
● ● ●VariantOak●
Сценарії · Обмеження комбінацій опцій ×
from itertools import product
from math import prod
def variants(groups, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit")
if not groups: return []
if any(len(set(g)) != len(g) for g in groups):
raise ValueError("duplicate option")
if prod(map(len, groups)) > limit:
raise ValueError("too many variants")
return list(product(*groups))✳Перелічуйте комбінації впорядкованих товарних опцій лише після перевірки ліміту результатів.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
Моделі
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
Проєкт
Випробуйте порожню групу й повторні назви, відхиляючи надлишкові комбінації до виділення вихідного списку.
Перевірте перед застосуванням
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Сценарії
from itertools import product
from math import prod
def variants(groups, limit):
if type(limit) is not int or limit < 0:
raise ValueError("limit")
if not groups: return []
if any(len(set(g)) != len(g) for g in groups):
raise ValueError("duplicate option")
if prod(map(len, groups)) > limit:
raise ValueError("too many variants")
return list(product(*groups))