Абсолютня: генератор новых слов на Python

Абсолютня: генератор новых слов на Python

Проект, достойный ваших мемов

Сегодня сделаем простой лингвистический проект: будем собирать новые слова из двух других. Практической ценности здесь мало, но много новых смыслов и неожиданных находок.

Мы подсмотрели идею в Твиттере у Хорошего парня @goodboy_nomore

В чём идея

Например, у нас есть слово «программа», которое заканчивается на «грамма». И есть слово «грамматика», которое начинается на эти же буквы. Если их записать друг за другом, чтобы слово как бы перетекало одно в другое, получится «программатика». Или вот ещё пара примеров:

абрикосуля = абрикос + косуля (3 буквы в пересечении);

капитание = капитан + питание (5 букв в пересечении).

Смысл понятен: берём первое слово и ищем другое слово, которое начинается на те же буквы, которыми заканчивается первое. 

Логика работы

Чтобы не перебирать слова вручную и по памяти, используем силу машин. Как обычно это бывает со словами, мы используем Python — с ним работать со строками проще простого (а слова — это тоже строки).

Алгоритм будет такой:

  1. Берём файл со словарём русского языка и загружаем слова в массив.
  2. Перебираем этот массив двумя вложенными циклами, как в пузырьковой сортировке, чтобы получить очередную пару слов.
  3. Для этой пары слов смотрим, подходит ли конец первого слова к началу второго, а потом наоборот — конец второго слова к началу первого.
  4. Если подходит — выводим найденное сочетание и переходим к новой паре слов.
  5. Если не подходит — пробуем уменьшить количество букв в пересечении и проверяем снова.
  6. Если дошли до минимально допустимого количества букв в пересечении, то делаем вывод, что с этой парой ничего не получится и переходим к следующей.

Ключевой момент алгоритма — минимальное количество букв для пересечения. Оно нужно, чтобы сократить количество найденных вариантов и не генерировать тысячи бесполезных сочетаний типа «миренессанс = мир + ренессанс». 

Загружаем файлы из словаря в массив

Нам понадобится словарь слов русского языка в единственном числе и именительном падеже. Таких словарей много, можно взять любой, мы взяли словарь на 68 тысяч слов.

Создаём новый проект на Python и загружаем словарь в массив. Сразу же зададим минимальное количество букв для пересечения:

# открываем файл словаря
with open("singular.txt") as file:
    # и загружаем все слова из него в массив
    text_array = [row.strip() for row in file]

# минимальное количество букв для пересечения
lim = 4

Организуем цикл для перебора слов

Чтобы перебрать попарно все слова, используем простой подход: два вложенных друг в друга цикла. Один будет брать первое слово, второй — следующее, а внутри они будут попарно сравниваться на пересечения. 

Сразу сделаем оптимизацию: чтобы не писать два раза один и тот же код для проверки разного порядка слов, мы вынесем это в функцию, а в цикле сошлёмся на неё. Саму функцию напишем на следующем шаге, а пока вот циклы:

# перебираем все слова с первого до предпоследнего
for i in range (0,len(text_array)-1):
    # и сразу перебираем все слова от следующего до последнего
    for j in range (i+1,len(text_array)):
        # пробуем найти пересечение первого слова со вторым
        glue(text_array[i], text_array[j])
        # а потом второго — с первым
        glue(text_array[j], text_array[i])

Функция для склеивания слов

У нас есть минимальное количество букв для склеивания, но нет максимального. Чтобы у нас была точка отсчёта, стартовое количество букв посчитаем так:

  1. Найдём длину первого слова.
  2. Затем длину второго слова.
  3. Возьмём наименьшее из них
  4. Вычтем из результата единицу, чтобы у нас не было ситуации, когда одно слово полностью вошло в другое — автодорога = автодорога + дорога. Эта недостающая буква и будет страховкой.

Для выделения части слова используем квадратные скобки с двоеточием — в Питоне они нарезают строку на части. Работает это так:

S[0:2] — вернёт первые три символа из строки («Привет» → «При»);

S[3:5] — вернёт с третьего по пятый символ («Привет» → «иве»);

S[:3] — вернёт первые четыре символа из строки, потому что раз нет первого аргумента, то считаем от начала («Привет» → «Прив»);

S[3:] — вернёт все символы из строки, начиная с четвёртого, так как нумерация идёт с нуля, а конец в диапазоне не указан («Привет» → «вет»)

Ещё можно использовать отрицательные значения — в этом случае Python будет считать с конца строки:

S[-2:] — вернёт последние три символа из строки («Привет» → «вет»)

S[:-2] — вернёт всё от начала строки и до минус второго символа («Привет» → «При»)

Зная это, мы теперь легко можем написать функцию, которая проверяет и склеивает слова. Заодно добавим проверку на слово из словаря: если то, что у нас получилось, уже и так было в словаре, значит, мы ничего нового не придумали и выводить это не надо.

# функция, которая склеивает слова
def glue(x,y):
    # находим максимальное доступное количество букв пересечения для этих двух слов
    start = min(len(x),len(y))-1
    # пока это количество больше минимального
    while start >= lim:
        # берём конец первого слова
        s1 = x[-start:]
        # берём начало второго слова
        s2 = y[:start]
        # если они равны
        if s1 == s2:
            # склеиваем эти слова
            s = x + y[start:]
            # если получившегося слова нет в изначальном словаре
            if s not in text_array:
                # то выводим его и то, из чего оно получилось
                print(s + " = " + x + " + " + y)
            # как только нашли пересечение слов — выходим из цикла
            break    
        # если с текущим количеством букв пересечение не получается
        else:
            # уменьшаем количество букв для пересечения
            start -= 1
Абсолютня: генератор новых слов на Python
Каждый найденный результат программа сразу выводит на экран

# открываем файл словаря
with open("singular.txt") as file:
    # и загружаем все слова из него в массив
    text_array = [row.strip() for row in file]

# минимальное количество букв для пересечения
lim = 4

# функция, которая склеивает слова
def glue(x,y):
    # находим максимальное доступное количество букв пересечения для этих двух слов
    start = min(len(x),len(y))-1
    # пока это количество больше минимального
    while start >= lim:
        # берём конец первого слова
        s1 = x[-start:]
        # берём начало второго слова
        s2 = y[:start]
        # если они равны
        if s1 == s2:
            # склеиваем эти слова
            s = x + y[start:]
            # если получившегося слова нет в изначальном словаре
            if s not in text_array:
                # то выводим его и то, из чего оно получилось
                print(s + " = " + x + " + " + y)
            # как только нашли пересечение слов — выходим из цикла
            break    
        # если с текущим количеством букв пересечение не получается
        else:
            # уменьшаем количество букв для пересечения
            start -= 1

# перебираем все слова с первого до предпоследнего
for i in range (0,len(text_array)-1):
    # и сразу перебираем все слова от следующего до последнего
    for j in range (i+1,len(text_array)):
        # пробуем найти пересечение первого слова со вторым
        glue(text_array[i], text_array[j])
        # а потом второго — с первым
        glue(text_array[j], text_array[i])

абажуристка = абажур + ажуристка

абажурник = абажур + ажурник

абажурность = абажур + ажурность

диабазин = диабаз + абазин

лабазин = лабаз + абазин

анабазинец = анабазин + абазинец

диабазинец = диабаз + абазинец

лабазинец = лабаз + абазинец

анабазинцы = анабазин + абазинцы

диабазинцы = диабаз + абазинцы

лабазинцы = лабаз + абазинцы

анабазинка = анабазин + абазинка

диабазинка = диабаз + абазинка

абазинкапсуляция = абазинка + инкапсуляция

абазинкассатор = абазинка + инкассатор

абазинкассаторша = абазинка + инкассаторша

абазинкассация = абазинка + инкассация

абазинкассирование = абазинка + инкассирование

абазинкассо = абазинка + инкассо

лабазинка = лабаз + абазинка

диабазия = диабаз + абазия

лабазия = лабаз + абазия

балабандон = балабан + абандон

барабандон = барабан + абандон

кабандон = кабан + абандон

сабандон = сабан + абандон

чабандон = чабан + абандон

шарабандон = шарабан + абандон

аббатиссаливание = аббатисса + иссаливание

аббатствол = аббатство + ствол

аббатстволик = аббатство + стволик

аббатстволина = аббатство + стволина

аббатстволистость = аббатство + стволистость

аббатстволовой = аббатство + стволовой

аббатстволовая = аббатство + стволовая

аббатстволовые = аббатство + стволовые

аббатствольщик = аббатство + ствольщик

аббатствор = аббатство + створ

аббатствораживание = аббатство + створаживание

аббатстворка = аббатство + створка

аббатстворочка = аббатство + створочка

аббревиатуранга = аббревиатура + туранга

аббревиатурач = аббревиатура + турач

абдоменка = абдомен + доменка

абдоменщик = абдомен + доменщик

абелитель = абелит + белитель

корабелит = корабел + абелит

фанаберрация = фанабер + аберрация

чаберрация = чабер + аберрация

шаберрация = шабер + аберрация

шаберрация = шабер + аберрация

сабзац = сабза + абзац

препохабиетин = препохабие + абиетин

абиогенезис = абиогенез + генезис

абиссальвадорец = абиссаль + сальвадорец

абиссальвадорцы = абиссаль + сальвадорцы

абиссальвадорка = абиссаль + сальвадорка

абиссальварсан = абиссаль + сальварсан

абиссальвиния = абиссаль + сальвиния

абиссальдо = абиссаль + сальдо

абиссальза = абиссаль + сальза

абиссальмонелла = абиссаль + сальмонелла

абиссальмонеллез = абиссаль + сальмонеллез

абиссальник = абиссаль + сальник

абиссальность = абиссаль + сальность

абиссальпингит = абиссаль + сальпингит

абиссальпингоофорит = абиссаль + сальпингоофорит

абиссальто = абиссаль + сальто

абиссальто-мортале = абиссаль + сальто-мортале

абиссальтоморталист = абиссаль + сальтоморталист

абиссальце = абиссаль + сальце

абиссинкапсуляция = абиссинка + инкапсуляция

абиссинкассатор = абиссинка + инкассатор

абиссинкассаторша = абиссинка + инкассаторша

абиссинкассация = абиссинка + инкассация

абиссинкассирование = абиссинка + инкассирование

абиссинкассо = абиссинка + инкассо

ваххабитуриент = ваххабит + абитуриент

ваххабитуриентка = ваххабит + абитуриентка

наблактировка = набла + аблактировка

наблатив = набла + аблатив

наблаут = набла + аблаут

саблятив = сабля + аблятив

шаблятив = шабля + аблятив

сабляут = сабля + абляут

шабляут = шабля + абляут

сабляция = сабля + абляция

шабляция = шабля + абляция

балаболиционизм = балабол + аболиционизм

аболиционизменность = аболиционизм + низменность

балаболиционист = балабол + аболиционист

аболиционистагм = аболиционист + нистагм

балаболиционистка = балабол + аболиционистка

балаболиция = балабол + аболиция

балабонемент = балабон + абонемент

балабонемент = балабон + абонемент

лиссабонемент = лиссабон + абонемент

абонементал = абонемент + ментал

абонементалитет = абонемент + менталитет

абонементальность = абонемент + ментальность

абонементик = абонемент + ментик

абонементовка = абонемент + ментовка

абонементол = абонемент + ментол

абонементор = абонемент + ментор

балабонент = балабон + абонент

балабонент = балабон + абонент

лиссабонент = лиссабон + абонент

балабонентка = балабон + абонентка

балабонентка = балабон + абонентка

лиссабонентка = лиссабон + абонентка

балабонирование = балабон + абонирование

балабонирование = балабон + абонирование

лиссабонирование = лиссабон + абонирование

водозабордаж = водозабор + абордаж

забордаж = забор + абордаж

набордаж = набор + абордаж

табордаж = табор + абордаж

фотонабордаж = фотонабор + абордаж

водозабориген = водозабор + абориген

забориген = забор + абориген

набориген = набор + абориген

табориген = табор + абориген

фотонабориген = фотонабор + абориген

водозаборигенка = водозабор + аборигенка

заборигенка = забор + аборигенка

наборигенка = набор + аборигенка

таборигенка = табор + аборигенка

фотонаборигенка = фотонабор + аборигенка

абортжурнал = аборт + бортжурнал

абортик = аборт + бортик

абортинженер = аборт + бортинженер

абортмеханик = аборт + бортмеханик

абортник = аборт + бортник

абортничанье = аборт + бортничанье

абортничество = аборт + бортничество

абортовка = аборт + бортовка

абортовщик = аборт + бортовщик

абортпаек = аборт + бортпаек

абортпроводник = аборт + бортпроводник

абортпроводница = аборт + бортпроводница

абортрадист = аборт + бортрадист

аборть = аборт + борть

водозаборт = водозабор + аборт

заборт = забор + аборт

наборт = набор + аборт

таборт = табор + аборт

фотонаборт = фотонабор + аборт

абортарийцы = абортарий + арийцы

абортарийка = абортарий + арийка

водозабортарий = водозабор + абортарий

гакабортарий = гакаборт + абортарий

забортарий = забор + абортарий

набортарий = набор + абортарий

табортарий = табор + абортарий

фотонабортарий = фотонабор + абортарий

водозабортивность = водозабор + абортивность

гакабортивность = гакаборт + абортивность

забортивность = забор + абортивность

набортивность = набор + абортивность

табортивность = табор + абортивность

фотонабортивность = фотонабор + абортивность

абракадабразив = абракадабра + абразив

жабразив = жабра + абразив

фабразив = фабра + абразив

швабразив = швабра + абразив

абракадабразия = абракадабра + абразия

жабразия = жабра + абразия

фабразия = фабра + абразия

швабразия = швабра + абразия

жабракадабра = жабра + абракадабра

фабракадабра = фабра + абракадабра

швабракадабра = швабра + абракадабра

абрекватер = абрек + брекватер

абрекчия = абрек + брекчия

абрикосаэдр = абрикос + икосаэдр

абрикотинга = абрикотин + котинга

абристоль = абрис + бристоль

абсентаво = абсент + сентаво

абсентеcимо = абсент + сентеcимо

абсентенциозность = абсент + сентенциозность

абсентенция = абсент + сентенция

абсентимент = абсент + сентимент

абсентиментализм = абсент + сентиментализм

абсентименталист = абсент + сентименталист

абсентиментальничание = абсент + сентиментальничание

абсентиментальность = абсент + сентиментальность

абсентиментальщина = абсент + сентиментальщина

абсентимо = абсент + сентимо

абсентябрь = абсент + сентябрь

абсентеистка = абсентеист + теистка

абсорбенталь = абсорбент + бенталь

абсорбентозух = абсорбент + бентозух

абсорбентонит = абсорбент + бентонит

абсорбентос = абсорбент + бентос

абстрактамент = абстракт + трактамент

абстрактат = абстракт + трактат

абстрактация = абстракт + трактация

абстрактир = абстракт + трактир

абстрактиришко = абстракт + трактиришко

абстрактирчик = абстракт + трактирчик

абстрактирщик = абстракт + трактирщик

абстрактирщица = абстракт + трактирщица

абстрактование = абстракт + трактование

абстрактовка = абстракт + трактовка

абстрактор = абстракт + трактор

абстракторизация = абстракт + тракторизация

абстракторист = абстракт + тракторист

абстрактористка = абстракт + трактористка

абстракторишко = абстракт + тракторишко

абстракторостроение = абстракт + тракторостроение

абстракторостроитель = абстракт + тракторостроитель

абстрактриса = абстракт + трактриса

абстракционизменность = абстракционизм + низменность

абстракционистагм = абстракционист + нистагм

абсурдина = абсурд + сурдина

абсурдинка = абсурд + сурдинка

абсурдокамера = абсурд + сурдокамера

абсурдопедагог = абсурд + сурдопедагог

абсурдопедагогика = абсурд + сурдопедагогика

абсцессионарий = абсцесс + цессионарий

абсцессия = абсцесс + цессия

абсциссаливание = абсцисса + иссаливание

кабулия = кабул + абулия

абштрихиаз = абштрих + трихиаз

абштрихина = абштрих + трихина

абштрихинелла = абштрих + трихинелла

абштрихинеллез = абштрих + трихинеллез

абштрихиноз = абштрих + трихиноз

абштрихом = абштрих + трихом

абштрихомонада = абштрих + трихомонада

абштрихомоноз = абштрих + трихомоноз

абштрихоспория = абштрих + трихоспория

абштрихотомия = абштрих + трихотомия

абштрихофит = абштрих + трихофит

абштрихофития = абштрих + трихофития

абштрихоцефалез = абштрих + трихоцефалез

абштрихоциста = абштрих + трихоциста

абштрихование = абштрих + штрихование

абштриховка = абштрих + штриховка

абштриховщик = абштрих + штриховщик

абштриховщица = абштрих + штриховщица

завалист = завал + авалист

карнавалист = карнавал + авалист

авалистья = авалист + листья

авалистаж = авалист + листаж

авалиства = авалист + листва

авалиственит = авалист + лиственит

авалиственница = авалист + лиственница

авалиственничник = авалист + лиственничник

авалиствень = авалист + листвень

авалиствие = авалист + листвие

авалиствяг = авалист + листвяг

авалиствяк = авалист + листвяк

авалистик = авалист + листик

авалистоблошка = авалист + листоблошка

авалистобой = авалист + листобой

авалистовертка = авалист + листовертка

авалистовка = авалист + листовка

авалистовуха = авалист + листовуха

авалистодер = авалист + листодер

авалистоед = авалист + листоед

авалисток = авалист + листок

авалистокатальный = авалист + листокатальный

авалистокатальная = авалист + листокатальная

авалистокатальные = авалист + листокатальные

авалистонос = авалист + листонос

авалистопад = авалист + листопад

авалистопадник = авалист + листопадник

авалистопрокатка = авалист + листопрокатка

авалистопрокатчик = авалист + листопрокатчик

авалисторез = авалист + листорез

авалисточек = авалист + листочек

авалистье = авалист + листье

навалист = навал + авалист

авальвация = аваль + вальвация

авальденс = аваль + вальденс

авальдшнеп = аваль + вальдшнеп

авалькирия = аваль + валькирия

авальма = аваль + вальма

авальс = аваль + вальс

авальтрап = аваль + вальтрап

авальхалла = аваль + вальхалла

авальцевание = аваль + вальцевание

авальцовка = аваль + вальцовка

авальцовщик = аваль + вальцовщик

авальцовщица = аваль + вальцовщица

авальщик = аваль + вальщик

авальяжность = аваль + вальяжность

авальян = аваль + вальян

карнаваль = карнавал + аваль

наваль = навал + аваль

авангарда = авангард + гарда

авангардемарин = авангард + гардемарин

авангардения = авангард + гардения

авангардероб = авангард + гардероб

авангардеробная = авангард + гардеробная

авангардеробные = авангард + гардеробные

авангардеробщик = авангард + гардеробщик

авангардеробщица = авангард + гардеробщица

авангардина = авангард + гардина

авангардинка = авангард + гардинка

нефтекаравангард = нефтекараван + авангард

палавангард = палаван + авангард

паравангард = параван + авангард

плотокаравангард = плотокараван + авангард

савангард = саван + авангард

нефтекаравангардизм = нефтекараван + авангардизм

палавангардизм = палаван + авангардизм

паравангардизм = параван + авангардизм

плотокаравангардизм = плотокараван + авангардизм

савангардизм = саван + авангардизм

авангардистанционность = авангардист + дистанционность

авангардистанционный = авангардист + дистанционный

авангардистанция = авангардист + дистанция

авангардистиллят = авангардист + дистиллят

авангардистиллятор = авангардист + дистиллятор

авангардистилляция = авангардист + дистилляция

авангардистимия = авангардист + дистимия

авангардистих = авангардист + дистих

авангардисторзия = авангардист + дисторзия

авангардисторсия = авангардист + дисторсия

авангардистрибутивность = авангардист + дистрибутивность

авангардистрибуция = авангардист + дистрибуция

авангардистрикт = авангардист + дистрикт

авангардистрофик = авангардист + дистрофик

авангардистрофичка = авангардист + дистрофичка

авангардистрофия = авангардист + дистрофия

нефтекаравангардист = нефтекараван + авангардист

палавангардист = палаван + авангардист

паравангардист = параван + авангардист

плотокаравангардист = плотокараван + авангардист

савангардист = саван + авангардист

нефтекаравангардистка = нефтекараван + авангардистка

палавангардистка = палаван + авангардистка

паравангардистка = параван + авангардистка

плотокаравангардистка = плотокараван + авангардистка

савангардистка = саван + авангардистка

нефтекараванзал = нефтекараван + аванзал

палаванзал = палаван + аванзал

параванзал = параван + аванзал

плотокараванзал = плотокараван + аванзал

саванзал = саван + аванзал

аванкамера-обскура = аванкамера + камера-обскура

аванкамералист = аванкамера + камералист

аванкамералистика = аванкамера + камералистика

аванкамералка = аванкамера + камералка

молдаванкамера = молдаванка + аванкамера

нефтекараванкамера = нефтекараван + аванкамера

палаванкамера = палаван + аванкамера

параванкамера = параван + аванкамера

плотокараванкамера = плотокараван + аванкамера

саванкамера = саван + аванкамера

нефтекараванложа = нефтекараван + аванложа

палаванложа = палаван + аванложа

параванложа = параван + аванложа

плотокараванложа = плотокараван + аванложа

саванложа = саван + аванложа

нефтекараванпорт = нефтекараван + аванпорт

палаванпорт = палаван + аванпорт

параванпорт = параван + аванпорт

плотокараванпорт = плотокараван + аванпорт

аванпортал = аванпорт + портал

аванпортаменто = аванпорт + портаменто

аванпортативность = аванпорт + портативность

аванпортач = аванпорт + портач

аванпортбукет = аванпорт + портбукет

аванпортвейн = аванпорт + портвейн

аванпортвейнец = аванпорт + портвейнец

аванпортвейнцы = аванпорт + портвейнцы

аванпортер = аванпорт + портер

аванпортерная = аванпорт + портерная

аванпортерные = аванпорт + портерные

аванпортик = аванпорт + портик

аванпортище = аванпорт + портище

аванпортки = аванпорт + портки

аванпортландцемент = аванпорт + портландцемент

аванпортмоне = аванпорт + портмоне

аванпортниха = аванпорт + портниха

аванпортной = аванпорт + портной

аванпортные = аванпорт + портные

аванпортняга = аванпорт + портняга

аванпортняжение = аванпорт + портняжение

аванпортняжество = аванпорт + портняжество

аванпортняжка = аванпорт + портняжка

аванпортняжничество = аванпорт + портняжничество

аванпорто = аванпорт + порто

аванпорто-франко = аванпорт + порто-франко

аванпортовик = аванпорт + портовик

аванпортовичка = аванпорт + портовичка

аванпортовый = аванпорт + портовый

аванпортолан = аванпорт + портолан

аванпортомойка = аванпорт + портомойка

аванпортомойня = аванпорт + портомойня

аванпортомоя = аванпорт + портомоя

аванпорточина = аванпорт + порточина

аванпорточки = аванпорт + порточки

аванпортпапирос = аванпорт + портпапирос

аванпортплед = аванпорт + портплед

аванпортрет = аванпорт + портрет

аванпортретец = аванпорт + портретец

аванпортретцы = аванпорт + портретцы

аванпортретик = аванпорт + портретик

аванпортретирование = аванпорт + портретирование

аванпортретист = аванпорт + портретист

аванпортретистка = аванпорт + портретистка

аванпортретная = аванпорт + портретная

аванпортретные = аванпорт + портретные

аванпортсигар = аванпорт + портсигар

аванпортсигарчик = аванпорт + портсигарчик

аванпорттабак = аванпорт + порттабак

аванпортугалец = аванпорт + португалец

аванпортугалка = аванпорт + португалка

аванпортулак = аванпорт + портулак

аванпортулаковые = аванпорт + портулаковые

аванпортулан = аванпорт + портулан

аванпортупей-прапорщик = аванпорт + портупей-прапорщик

аванпортупей-юнкер = аванпорт + портупей-юнкер

аванпортупея = аванпорт + портупея

аванпортфелик = аванпорт + портфелик

аванпортфелишко = аванпорт + портфелишко

аванпортфель = аванпорт + портфель

аванпортфельчик = аванпорт + портфельчик

аванпортчишки = аванпорт + портчишки

аванпортшез = аванпорт + портшез

аванпорты = аванпорт + порты

аванпортье = аванпорт + портье

аванпортьера = аванпорт + портьера

аванпортьерка = аванпорт + портьерка

аванпортянка = аванпорт + портянка

аванпортяночка = аванпорт + портяночка

саванпорт = саван + аванпорт

нефтекараванпост = нефтекараван + аванпост

палаванпост = палаван + аванпост

параванпост = параван + аванпост

плотокараванпост = плотокараван + аванпост

аванпостав = аванпост + постав

аванпоставец = аванпост + поставец

аванпоставцы = аванпост + поставцы

аванпоставка = аванпост + поставка

аванпоставление = аванпост + поставление

аванпоставщик = аванпост + поставщик

аванпоставщица = аванпост + поставщица

аванпостамент = аванпост + постамент

аванпостанов = аванпост + постанов

аванпостановка = аванпост + постановка

аванпостановление = аванпост + постановление

аванпостановщик = аванпост + постановщик

аванпостарение = аванпост + постарение

аванпостелишка = аванпост + постелишка

аванпостель = аванпост + постель

аванпостелька = аванпост + постелька

аванпостельник = аванпост + постельник

аванпостельница = аванпост + постельница

аванпостельничий = аванпост + постельничий

аванпостепенность = аванпост + постепенность

аванпостепеновец = аванпост + постепеновец

аванпостепеновцы = аванпост + постепеновцы

аванпостепеновщина = аванпост + постепеновщина

аванпостигание = аванпост + постигание

аванпостижение = аванпост + постижение

аванпостижер = аванпост + постижер

аванпостижимость = аванпост + постижимость

аванпостилка = аванпост + постилка

аванпостилочка = аванпост + постилочка

аванпостимпрессионизм = аванпост + постимпрессионизм

аванпостирушка = аванпост + постирушка

аванпостмодернизм = аванпост + постмодернизм

аванпостник = аванпост + постник

аванпостница = аванпост + постница

аванпостничество = аванпост + постничество

аванпостное = аванпост + постное

аванпостность = аванпост + постность

аванпостовой = аванпост + постовой

аванпостовые = аванпост + постовые

аванпостой = аванпост + постой

аванпостороннее = аванпост + постороннее

аванпосторонний = аванпост + посторонний

аванпосторонняя = аванпост + посторонняя

аванпосторонние = аванпост + посторонние

аванпостоялец = аванпост + постоялец

аванпостоялица = аванпост + постоялица

аванпостоялка = аванпост + постоялка

аванпостоялое = аванпост + постоялое

аванпостоялые = аванпост + постоялые

аванпостоянная = аванпост + постоянная

аванпостоянные = аванпост + постоянные

аванпостоянность = аванпост + постоянность

аванпостоянство = аванпост + постоянство

аванпостпакет = аванпост + постпакет

аванпостпозиция = аванпост + постпозиция

аванпостпред = аванпост + постпред

аванпостпредство = аванпост + постпредство

аванпострадавший = аванпост + пострадавший

аванпострадавшая = аванпост + пострадавшая

аванпострадавшие = аванпост + пострадавшие

аванпострел = аванпост + пострел

аванпостреленок = аванпост + постреленок

аванпостреливание = аванпост + постреливание

аванпостриг = аванпост + постриг

Что дальше

Ради интереса можно написать код, который так будет генерировать новое слово из цепочки нескольких слов любой длины. Пока это отложим, но если вам хочется прямо сейчас — берите наш код и отталкивайтесь от него, правок для нового проекта будет не очень много.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Любишь Python? Зарабатывай на нём!
Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно.
Попробовать
Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём!
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
medium