не могу составить комбинацию чисел от 0 до 20 в вариативном порядке по 40 штук комбинаций в пайтон
# -*- coding: utf-8 -*-
from itertools import combinations
# Генерируем все комбинации чисел от 0 до 20 размером 40 штук
combs = list(combinations(range(21), 40))
print("Количество комбинаций:", len(combs))
# Выводим первые 5 комбинаций
for i in range(5):
print(combs[i])
Ответы (1 шт):
Автор решения: Axaneron
→ Ссылка
В документации сказано: 0 <= r <= n, где r - второе передаваемое функции значение, обозначающее то, сколько чисел будет в группе, а n - длина итерируемого массива (range(n)
). Вы передаете n = 21, а r = 40. Чуете в чем подвох? Если вам необходимо получить первые 40 комбинаций из двух чисел, то следует использовать combs = list(combinations(range(21), 2))[:40]
.
Исправленная версия кода:
# -*- coding: utf-8 -*-
from itertools import combinations
r = int(input("Введите количество чисел в одной группе: "))
# Генерируем все комбинации чисел от 0 до 20 размером 40 штук
combs = list(combinations(range(21), r))[:40]
print("Количество комбинаций:", len(combs))
# Выводим первые 5 комбинаций
for i in range(5):
print(combs[i])