Найти - Пользователи
Полная версия: Вывести все перестановки заданной длины
Начало » Python для новичков » Вывести все перестановки заданной длины
1
Comandante4
Добрый вечер.
Требуется помощь в следующем задании:

Необходимо вывести все перестановки чисел от 1 до N в лексикографическом порядке. Перестановки выводятся по одной в строке, числа в перестановке выводятся без пробелов. Написать в функциональном стиле.
DamMercul
А разве join может работает чисто с генераторами? Или у тебя генератор делает кортеж? Сори, не догоняю.
py.user.next
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)]
>>>

И не отправляй код на картинке никогда, так как его нельзя скопировать и вставить в интерпретатор, а без возможности проверки в нём никто не будет разбираться.
Comandante4
py.user.next
И не отправляй код на картинке никогда, так как его нельзя скопировать и вставить в интерпретатор, а без возможности проверки в нём никто не будет разбираться.
 from itertools import permutations
print('\n'.join([''.join(map(str, i))
                 for i in permutations(range(1, int(input())+1))]))
Подумал и переписал код в таком виде. Вывод у него примерно такой:
3
123
132
213
231
312
321
Но, к сожалению, и такой код не считается достаточно функциональным. Не знаю, что с циклом сделать.
py.user.next
  
>>> import itertools
>>> 
>>> print('\n'.join(map(''.join, itertools.permutations(map(str, range(1, int(input()) + 1))))))
3
123
132
213
231
312
321
>>>
Comandante4
py.user.next
Спасибо большое!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB