Word wheel: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (→{{header|Raku}}: Display current wheel as well) |
|||
Line 204: | Line 204: | ||
["ken", "keg", "eke", "elk", "wok", "keno", "knee", "keen", "knew", "kong", "know", "woke", "keel", "leek", "week", "kneel", "knowledge"] |
["ken", "keg", "eke", "elk", "wok", "keno", "knee", "keen", "knew", "kong", "know", "woke", "keel", "leek", "week", "kneel", "knowledge"] |
||
</pre> |
</pre> |
||
=={{header|Python}}== |
|||
<lang>import urllib.request |
|||
from collections import Counter |
|||
GRID = """ |
|||
N D E |
|||
O K G |
|||
E L W |
|||
""" |
|||
def getwords(url='http://wiki.puzzlers.org/pub/wordlists/unixdict.txt'): |
|||
"Return sorted lowercased words of 3 to 9 characters" |
|||
words = urllib.request.urlopen(url).read().decode().strip().lower().split() |
|||
return sorted(set(w for w in words if 2 < len(w) < 10)) |
|||
def solve(grid, dictionary): |
|||
gridcount = Counter(grid) |
|||
mid = grid[4] |
|||
return [word for word in dictionary |
|||
if mid in word and not (Counter(word) - gridcount)] |
|||
if __name__ == '__main__': |
|||
chars = ''.join(GRID.strip().lower().split()) |
|||
found = solve(chars, dictionary=getwords()) |
|||
print('\n'.join(found))</lang> |
|||
{{out}} |
|||
<pre>eke |
|||
elk |
|||
keel |
|||
keen |
|||
keg |
|||
ken |
|||
keno |
|||
knee |
|||
kneel |
|||
knew |
|||
know |
|||
knowledge |
|||
kong |
|||
leek |
|||
week |
|||
wok |
|||
woke</pre> |
|||
=={{header|Raku}}== |
=={{header|Raku}}== |