Форум сайта python.su
Добрый вечер.
Требуется помощь в следующем задании:
Необходимо вывести все перестановки чисел от 1 до N в лексикографическом порядке. Перестановки выводятся по одной в строке, числа в перестановке выводятся без пробелов. Написать в функциональном стиле.
Прикреплённый файлы: 1.png (4,6 KБ)
Офлайн
А разве join может работает чисто с генераторами? Или у тебя генератор делает кортеж? Сори, не догоняю.
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
DamMercul
А разве join может работает чисто с генераторами?
>>> '.'.join(i for i in 'abcd') 'a.b.c.d' >>>
Comandante4Отсортировать надо перестановки относительно друг друга. Вот этого там не хватает. Они выводятся просто неотсортированно.
Необходимо вывести все перестановки чисел от 1 до N в лексикографическом порядке. Перестановки выводятся по одной в строке, числа в перестановке выводятся без пробелов. Написать в функциональном стиле.
>>> import itertools >>> >>> list(itertools.permutations(range(3), 2)) [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)] >>>
Отредактировано py.user.next (Янв. 2, 2018 12:59:30)
Офлайн
py.user.next
И не отправляй код на картинке никогда, так как его нельзя скопировать и вставить в интерпретатор, а без возможности проверки в нём никто не будет разбираться.
from itertools import permutations print('\n'.join([''.join(map(str, i)) for i in permutations(range(1, int(input())+1))]))
Отредактировано Comandante4 (Янв. 4, 2018 21:39:52)
Офлайн
>>> import itertools >>> >>> print('\n'.join(map(''.join, itertools.permutations(map(str, range(1, int(input()) + 1)))))) 3 123 132 213 231 312 321 >>>
Офлайн
py.user.nextСпасибо большое!
Офлайн