Python мне пока не особо нужен. Но порой и с его помощью я делаю что-то полезное. Здесь - результат. Конечно, ничего выдающегося, я ни разу не питонист.
Скрипт берет из словаря в текстовом файле указанное количество слов случайным образом. Выводит результат. Зачем? Ну, например, если в голове нет идей - случайный набор слов может помочь идею найти. Но это не точно.
Перед запуском нужно отредактировать путь к словарю в строке path = "c:\path\dictionary.txt" и вписать нужное количество слов в строке quantity = 5 (по умолчанию выдается 5 штук).
В строке substring = "" можно прописать подстроку, с которой должно начинаться найденное слово; регистр не важен, ожидается что-то типа substring = "лол". Есть и аналогичная переменная для поиска подстроки в конце: substring_e = "". При использовании и начальной, и конечной подстрок - они не исключаются (то бишь, по "аг" в начале и "га" в конце будет найдено слово «ага»). Также есть переменная substring_a для поиска текста в любой части слова. В переменной length можно указать длину слов для выборки (0 или пустота означают любую длину).
Для корректной работы с текстом желательно указать правильную кодировку. В строке charset = "utf-8" прописана умолчальная кодировка UTF-8. Скрипт умеет ловить ошибку, связанную с неправильной кодировкой, и пытается открыть файл кодировке Windows-1251. Ежели файл в совсем уж экзотической кодировке - ее можно указать явным образом; например charset = "koi8_r".
Словарь предполагается с одним словом на строке, разделение произойдет по переносам.
substring_a для поиска подстроки в любой части слова.length, куда можно вписать пустую строку или 0 для получения слов любой длины.substring (вместо старой letter).letter = ""). Всем порою бывает нужна пачка случайных слов, начинающихся с определенной буквы. Регистр не имеет значения.Очень примитивный подборщик рифм из словаря, предоставленного пользователем. Путь к словарю, как водится, нужно отредактировать в теле скрипта (в строке path = "c:\path\dictionary.txt"). Слово-образец также необходимо указать в скрипте, в переменной sample.
Логика работы проста: берется три конечные буквы в каждом слове словаря, и если есть совпадение с тремя конечными буквами образца - слово записывается в результирующий список, кой и отображается в конце работы. Да, порой рифма очень плоха, но это лучше чем ничего.
Если нужно ограничить результат - можно вписать соответствующее число в переменную quantity. А ежели словарь такой большой, что рифм найдено 1000 - работа скрипта будет прервана, ибо даже и 1000 слов вряд ли кто осилит; но если нужно - можно увеличить лимит в переменной limit.
В переменной s4r указывается длина окончания для рифмы. Логика такая: берется указанное в s4r количество символов с конца слова из словаря, и если есть совпадение с тем же количеством букв с конца образца - считается, что рифма найдена. Если образец короче желаемого количества символов в окончании - скрипт предупредит об этом и прекратит работу. Если в словаре найдется слово, длина коего меньше указанного количества символов для рифмы - слово будет дополнено до нужного количества из образца.
В переменной syllables указывается желаемое количество слогов. Ноль означает любое количество.
s4r, в которую можно вписать количество символов, которые нужно искать в окончании слова для фиксации рифмы.Нужна выборка слов, в коих есть набор букв? Нет ничего проще! Сей скрипт разберет словарь на строки, и выведет лишь те, где найдется весь комплект указанных пользователем букв. Также есть опциональная возможность указать подстроку, с которой должно начинаться искомое слово.
Работает все просто, нужно лишь указать требуемые параметры в переменных внутри скрипта.
Путь к словарю: path = "c:\path\dictionary.txt"
Максимальное количество требуемых слов: quantity = 5
Подстрока, с которой слово должно начинаться (пустая - любые слова): substring = "нах"
И таки набор букв, каждая из коих должна быть в слове (да, это строка, а не список): letters = "епты"
В переменной под именем output2file можно указать True если нужен вывод в файл, а не на экран. В имени файла будет строка "plete" + дата в миллисекундах, а расположен он будет в той же папке, где и скрипт.
В syllables можно указать количество слогов в найденном. Пустышка означает любое количество.
Все мы порою напарываемся на игры, созданные альтернативно одаренными разработчиками. В них сохраняться по желанию игрока невозможно, а автоматические сохранения делаются в один и тот же файл. Риски потерять весь прогресс велики. Невозможность перепройти некое плохо сделанное место заново заставляет желать разработчикам всего плохого.
Но есть простое решение: бекап файла сохранения. Если файл бекапить почаще - можно сделать что-то, отдаленно напоминающее нормальную человеческую систему сохранений. И вот, сей скрипт делает одну нехитрую операцию: копирует указанный пользователем файл с переименованием (оригинальное имя + дата в миллисекундах). Ежели будет нужно загрузить предыдущую сохраненку - нужно лишь найти ее в папке с сохранениями, и переименовать обратно (удалив, конечно, косячное сохранение сначала).
Скрипт нужно отредактировать, функция ожидает массив путей к файлам сохранений в качестве аргумента. Проще говоря, нужно отредактировать строку save_save(["c:\Games\Game\save1.me", "c:\Games\Game\save2.me"]), где вместо c:\Games\Game\saveX.me вписать реальные пути к файлам сохранений, причем путей может быть сколь угодно много, а не только лишь 2. Ну а регулярность запуска решается средствами операционной системы (в Windows есть нечто под названием «Планировщик заданий»).
Се скрипт, кой ищет в словаре палиндромы. Вот так просто. Впрочем, можно заказать желаемое количество, а еще выводить результат в текстовый файл, а не на экран.
Путь к словарю: path = "c:\path\dictionary.txt"
Максимальное количество требуемых слов: quantity = 5
Вывод в файл (по умолчанию выключен, для вывода надо указать True): output2file = False
Скрипт разбирает текст на слова и выводит частотность их употребления. Регистр не учитывается. Сортировка по убыванию, самые частые сначала.
При выводе результата в файл будет список вида «слово количество» с разделением табуляцией, так можно легко вставить данные в табличный редактор.
Пути к словарям: path = ["c:\path\work.txt", "c:\path\work_z.txt"]
Минимальное количество букв в слове для попадания в выборку: ml = 4
Вывод в файл (по умолчанию выключен, для вывода надо указать True): output2file = False
Минимальное количество вхождений слова для попадания в выборку (1 и менее выведут все): mr = 1