Нужно написать программу, работающую по типу Поиска и Замены в Ворде. Но при этом замена должна происходить на случайно-сгенерированное слово из набора букв.
То есть, у нас есть, например, следующий текст: "Дима, как у тебя дела? Надеюсь, что хорошо"
Программа должна менять все запятые в тексте на случайно-сгенерированное слово из букв (а, б, е, г, р, о).
Разумеется, символы для замены и набор букв, из которых будет происходить генерация могут быть любыми.
На данный момент есть следующий код на Python:
import random
str4 = ("аобевисом")
ls = list(str4)
z = [('. ',''.join([random.choice(ls) for x in range(5)]))]
s = input("Введите текст для замены")
for p in z: s=s.replace(p[0],p[1])
print (s)
Код частично справляется, в данном случае меняет точки с пробелом, но имеет критические недоработки
Заранее спасибо за ответы.
Вот такое решение устроит?
import re
import random
import itertools
searchstr=r', '
heap = ('а', 'б', 'е', 'г', 'р', 'о')
text = "Lorem ipsum, dolor sit amet, consectetur, adipiscing elit, sed do eiusmod, tempor incididunt, ut labore,"
def gen_word(heap):
return ''.join(random.choice(list(itertools.permutations(heap))))
def callback(matchobj):
return ", "+gen_word(heap)+", "
res = re.sub(searchstr, callback, text)
print(res)
Вот вариант результата:
Lorem ipsum, героаб, dolor sit amet, огрбае, consectetur, арегоб, adipiscing elit, баеогр, sed do eiusmod, рабгео, tempor incididunt, бегора, ut labore,
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости