aaaaa avatar
a month ago
2.8 kB
import re 
import random 
def parse_spintax(text, num_variations): 
 pattern = r'\{([^{}]+)\}' 
 matches = re.findall(pattern, text) 
 variations = [] 
 for match in matches: 
 options = match.split('|') 
 parsed_texts = set() 
 while len(parsed_texts) < num_variations: 
 parsed_text = text 
 for options in variations: 
 selected_option = random.choice(options) # Выбираем случайную опцию 
 parsed_text = parsed_text.replace("{" + "|".join(options) + "}", selected_option, 1) 
 if parsed_text not in parsed_texts:
 if len(parsed_texts) == num_variations: 
 # Перемешиваем варианты для следующей итерации 
 return parsed_texts 
text_with_spintax = '''{Hello|Hi} Name, 
My name is Scott, and {I am a manager at Ledger|my role is manager at Ledger}. 
I am {pleased|excited} to contact you with an {offer|invitation} to join our {team|company}. 
After {carefully reviewing|thoroughly examining} your experience and LinkedIn profile, we are confident that your proficiency and {knowledge|skills} align with our requirements. We are looking for {talented|skilled} and ambitious {experts|individuals}, and you seem to be just such a {person|candidate}. 
Ledger guarantees not only {career development|professional growth} but also a {competitive|attractive} salary. We are {delighted|pleased} to announce that we provide the opportunity to work remotely, giving you the flexibility to {organize|manage} your {work process|workflow}. 
In addition to salary, our {employees|team members} receive a variety of {bonuses|additional rewards|benefits} and {incentive payments|motivational incentives} to help them achieve their goals, and we're {confident|sure} that these additional benefits will make your experience at Ledger even more rewarding and {motivational|inspiring}. 
If you are interested in discussing {partnership opportunities|collaborative prospects}, please let us know. We look forward to getting to know you personally and discussing how you can contribute to our company. 
{Thank you|Thanks} for your {consideration|attention}, and we look for a {positive|affirmative} {response|reply} from you. 
{All the best|Best Regards|Best Wishes}, 
{Scott|Scott Johnson}
num_variations = 10 
parsed_variations = parse_spintax(text_with_spintax, num_variations) 
with open('skazka.txt', 'w') as file: 
 for i, variation in enumerate(parsed_variations, start=1): 
 variation = re.sub(r'\{|\}', '', variation) # Удаление символов '{' и '}' 
 file.write(f"{i}. {variation}\n") 
print("500 variations have been saved in 'skazka.txt'.")
Leave a Comment