Skip to content

Instantly share code, notes, and snippets.

@jowens
Created May 24, 2020 04:54
Show Gist options
  • Save jowens/cefab77ae7a2ebfe0f22d327ed4f759f to your computer and use it in GitHub Desktop.
Save jowens/cefab77ae7a2ebfe0f22d327ed4f759f to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
states_list = [
"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Colorado",
"Connecticut",
"Delaware",
"Florida",
"Georgia",
"Hawaii",
"Idaho",
"Illinois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Maryland",
"Massachusetts",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"Nebraska",
"Nevada",
"NewHampshire",
"NewJersey",
"NewMexico",
"NewYork",
"NorthCarolina",
"NorthDakota",
"Ohio",
"Oklahoma",
"Oregon",
"Pennsylvania",
"RhodeIsland",
"SouthCarolina",
"SouthDakota",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virginia",
"Washington",
"WestVirginia",
"Wisconsin",
"Wyoming",
]
states = [(s, set(s.lower())) for s in states_list]
mackerels = {}
for s in states_list:
mackerels[s] = []
mackerel_count = {}
for i in range(1, 50):
mackerel_count[i] = []
with open("../../Box/reference/dict/word.list") as f:
for word in f:
word = word[:-1] # cut off \n
mackerel = ""
for (state_name, st) in states:
if (set(word) & st) == set():
if mackerel == "":
# haven't seen one yet
mackerel = state_name
else:
# oops we saw one already, we're done
mackerel = ""
break
if mackerel != "":
# that's a mackerel
# print(mackerel, word)
mackerels[mackerel] = mackerels[mackerel] + [word]
mackerel_count[len(word)] = mackerel_count[len(word)] + [(mackerel, word)]
for state_name in mackerels:
print(len(mackerels[state_name]), state_name)
for count in range(49, 0, -1):
if mackerel_count[count] != []:
print("* ", count, mackerel_count[count])
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment