Skip to content

Instantly share code, notes, and snippets.

@juanriaza
Created April 5, 2012 22:43
Show Gist options
  • Save juanriaza/2314759 to your computer and use it in GitHub Desktop.
Save juanriaza/2314759 to your computer and use it in GitHub Desktop.
import itertools
import requests
import json
valid_words = lambda x: sorted(json.loads(requests.get('http://apalabrados.com/api/dictionaries/ES', params={'words': ','.join(x)}).content)['ok'], key=lambda x: len(x))[::-1]
possible_words = lambda y: list(itertools.chain(*[[''.join(p) for p in itertools.permutations(y, i)] for i in range(1, len(y) + 1)]))
def angry_words(letters, prepend='', append=''):
return valid_words(['%s%s%s' % (prepend, p, append) for p in possible_words(letters)])
print angry_words(['j', 'l', 'o', 'a', 'n'])
print angry_words(['j', 'l', 'o', 'a', 'n'], prepend='s', append='r')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment