Как отсортировать список?

Ep1kBurger

Активный
Автор темы
116
50
Всем здравия, ситуация следующая;
У меня есть алфавит из 5 букв "ЕБЛАН". Мне необходимо получить все возможные шестибуквенные(6!) слова, которые начинаются с буквы А, а заканчиваются буквой Л. Пример: АННННЛ. Что-то вот сотворил, есть вообще все слова, а как выбрать только те, которые мне нужны - не знаю, всё о чём сам догадывался - перебрал, либо юзаю неправильно, либо не о том догадываюсь. Спасибо.
Python:
l = 'ЕБЛАН'
s = []
for a in l:
    for b in l:
        for c in l:
            for d in l:
                for e in l:
                    for f in l:
                        s.append(a + b + c + d + e + f)
print(s)
 
Решение
Python:
l = 'ЕБЛАН'
s = []
for a in l:
    for b in l:
        for c in l:
            for d in l:
                for e in l:
                    for f in l:
                        if a == 'А' and f == 'Н':
                            s.append(a + b + c + d + e + f)
print(s)

А че, в питоне за такие циклы в цикле на кол не сажают?
В егэ по информатике так же дрочат циклы

IlyaHL2

Активный
231
49
Что-то вот сотворил, есть вообще все слова, а как выбрать только те, которые мне нужны - не знаю, всё о чём сам догадывался - перебрал, либо юзаю неправильно, либо не о том догадываюсь. Спасибо.
А какие слова тебе нужны?
 

Ep1kBurger

Активный
Автор темы
116
50
А какие слова тебе нужны?
Мне нужны слова, которые начинаются на А, заканчиваются на Л
А че, в питоне за такие циклы в цикле на кол не сажают?
Можно использовать модуль itertools, но; а) я ещё слишком тупой мало знаю для него. б) мне вполне читаемо то, что я делаю, да и делаю я пока что для одноразового применения
 
  • Эм
Реакции: IlyaHL2

IlyaHL2

Активный
231
49
Python:
l = 'ЕБЛАН'
s = []
for a in l:
    for b in l:
        for c in l:
            for d in l:
                for e in l:
                    for f in l:
                        if a == 'А' and f == 'Н':
                            s.append(a + b + c + d + e + f)
print(s)

А че, в питоне за такие циклы в цикле на кол не сажают?
В егэ по информатике так же дрочат циклы
 
Последнее редактирование:
  • Влюблен
Реакции: Ep1kBurger

munnniisss

Активный
155
44
ну нельзя типа функцию написать которая будет сама себя вызывать рекурсионно ?
можно, но для новичка сложно

есть вариант проще, бро

код:
from itertools import permutations

str = 'ЕБЛАН'

for i in permutations(list(str)):
    if i[0] == 'А' and i[-1] == 'Н':
        word = ''.join(i)
        print(word)

вот вывод
1659909074000.png
 
Последнее редактирование:
  • Нравится
Реакции: Ep1kBurger