не могу составить комбинацию чисел от 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])
→ Ссылка