26 lines
655 B
Python
26 lines
655 B
Python
import itertools
|
|
from Phyme import Phyme
|
|
import random
|
|
import sys
|
|
import time
|
|
|
|
random.seed(time.time())
|
|
|
|
ph = Phyme()
|
|
|
|
|
|
def get_rhyme(word):
|
|
# Get all rhymes and merge to one list (normally separated by syllable count)
|
|
rhymes = ph.get_perfect_rhymes(word)
|
|
rhyme_vals = list(itertools.chain.from_iterable(list(rhymes.values())))
|
|
|
|
# Pick a random rhyme and strip out any non alpha characters
|
|
rhymed_word = rhyme_vals[random.randint(0, len(rhyme_vals) - 1)]
|
|
rhymed_word = ''.join(letter for letter in rhymed_word if letter.isalpha())
|
|
|
|
return rhymed_word.capitalize()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
print(get_rhyme(sys.argv[1]))
|