Ejemplo n.º 1
0
	def generate(self, word, words, difficulty):
		num_letters = random.randint(7,9)
		num_vowels = min(random.randint(3,5),int(round(num_letters/2)))
		letters = sorted(set(discrete_sample(constants.VOWEL_FREQS,num_vowels)+discrete_sample(constants.CONS_FREQS,num_letters-num_vowels)))
		#letters = sorted(map(lambda a: LETTERFREQS[a-1],list(set(random_partition(random.randint(1.5*26,3*26))))))
		regex = "^[^"+"".join(letters)+"]*$"
		str = STR_ANNOUNCE.format(listtostr(map(embolden,letters),conj="and"))
		involved_letters = letters
		return re.compile(regex).match, str, involved_letters
Ejemplo n.º 2
0
 def generate(self, word, words, difficulty):
     num_letters = random.randint(8, 13)
     num_vowels = min(random.randint(3, 5), int(round(num_letters / 2.5)))
     letters = discrete_sample(
         constants.VOWEL_FREQS, num_vowels) + discrete_sample(
             constants.CONS_FREQS, num_letters - num_vowels)
     random.shuffle(letters)
     str = STR_ANNOUNCE.format(embolden("".join(letters)))
     involved_letters = letters
     return self.subanag_regex(letters).match, str, involved_letters
Ejemplo n.º 3
0
 def generate(self, word, words, difficulty):
     num_letters = random.randint(8, 13)
     num_vowels = min(random.randint(3, 5), int(round(num_letters / 2.5)))
     letters = discrete_sample(constants.VOWEL_FREQS, num_vowels) + discrete_sample(
         constants.CONS_FREQS, num_letters - num_vowels
     )
     random.shuffle(letters)
     str = STR_ANNOUNCE.format(embolden("".join(letters)))
     involved_letters = letters
     return self.subanag_regex(letters).match, str, involved_letters