Word wheel: Difference between revisions

Content added Content deleted
(→‎{{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}}==