Australicys
мешает то, что в некоторых случаях они записаны верно, а в некоторых нет
это дополнительное условие задачи, которое на многое влияет

например, приставка “без” может быть правильной или неправильной
если она неправильная, то её надо заменить на “бес”
при этом и приставка “бес” может быть правильной или неправильной
если она неправильная, то её надо заменить на “без”

то есть простой re.sub() по всей строке не подойдёт
нужно брать каждое слово и пропускать его через цепочку правил
каждое правило состоит из двух частей: проверки на правильность приставки, и способа замены в случае неправильной приставки

этот алгоритм описан в dip3