Skip to content

Instantly share code, notes, and snippets.

@nrrb
Last active August 29, 2015 14:05
Show Gist options
  • Save nrrb/eb047beba3158b16be5f to your computer and use it in GitHub Desktop.
Save nrrb/eb047beba3158b16be5f to your computer and use it in GitHub Desktop.
Generating possible English word combinations for Wordlock-brand padlock.
AARON
AERIE
AHEAD
AHIND
AHINT
AHSAN
AHULL
AHUNT
AHUSH
AILIE
AILLT
AIRAN
AIRER
AISLE
ALAIN
ALAND
ALANS
ALARY
ALATE
ALERT
ALIAS
ALIDS
ALIEN
ALINE
ALISH
ALIST
ALITE
ALLAH
ALLAN
ALLAY
ALLEN
ALLER
ALLEY
ALLIE
ALLOT
ALLOY
ALODY
ALOED
ALOID
ALOIN
ALOIS
ALONE
ALOSE
ALTAR
ALTER
ALTIN
ALURE
ANEAR
ANELE
ANEND
ANENT
ANILE
ANION
ANISE
ANNAL
ANNAT
ANNET
ANNIE
ANNOY
ANODE
ANOIL
ANOLE
ANSAR
ANSEL
ANSER
ANTAL
ANTAR
ANTES
ANTON
ANTRE
ANURY
AOTES
APAID
APART
APERT
APERY
APIAN
APIIN
APIOS
APISH
APORT
APRIL
APRON
APSIS
APTAL
APTLY
ARAIN
AREAD
AREAL
AREAN
AREAR
AREEL
AREND
ARENT
ARETE
ARIAN
ARIEL
ARIES
ARION
ARIOT
ARISE
ARIST
ARITE
ARLES
ARNEE
AROAR
AROID
AROON
AROSE
ARRAH
ARRAS
ARRAY
ARRIE
ARRIS
ARSES
ARSIS
ARSLE
ARSON
ARTAL
ARTAR
ARTEL
ARTIE
ATILT
ATLAS
ATLEE
ATNAH
ATOLL
ATONE
ATONY
ATTAR
ATTER
ATTID
ATULE
ATUNE
BAIRN
BAITH
BALAN
BALAS
BALDY
BALER
BALLY
BALOR
BANAL
BANAT
BANDE
BANDY
BANNS
BANTY
BARAD
BARDY
BARER
BARID
BARIE
BARIS
BARIT
BARNY
BARON
BARRY
BARSE
BARTH
BASAL
BASED
BASES
BASIL
BASIN
BASIS
BASON
BASOS
BASTE
BATAD
BATAN
BATED
BATEL
BATER
BATIS
BATON
BATTY
BAURE
BEADY
BEANT
BEANY
BEARD
BEAST
BEATH
BEERY
BEEST
BEETH
BEETY
BELAH
BELAR
BELAY
BELEE
BELIE
BELIS
BELLE
BELLY
BENDY
BENET
BENIN
BENNE
BENNY
BENSH
BENTY
BEODE
BERAT
BERAY
BERET
BERNE
BEROE
BERRY
BERTH
BESAN
BESEE
BESET
BESIN
BESIT
BESOT
BESSY
BETEL
BETIS
BETSY
BETTY
BIELD
BILIN
BILLY
BILSH
BINAL
BIOSE
BIRDY
BIRLE
BIRNY
BIRON
BIRSE
BIRSY
BIRTH
BISON
BITER
BITIS
BITTY
BIUNE
BLADE
BLADY
BLAIN
BLAIR
BLAND
BLARE
BLART
BLASE
BLASH
BLAST
BLATE
BLEAR
BLEAT
BLEED
BLEND
BLENT
BLESS
BLEST
BLIND
BLISS
BLITE
BLOAT
BLOOD
BLORE
BLUER
BLUES
BLUET
BLUEY
BLUNT
BLURT
BLUSH
BOARD
BOAST
BOILY
BOIST
BOLAR
BOLED
BOLIS
BOLLY
BONED
BONER
BONEY
BONNY
BOODY
BOOLY
BOONE
BOORT
BOOSE
BOOST
BOOSY
BOOTH
BOOTS
BOOTY
BORAL
BORAN
BOREE
BORER
BORIS
BORNE
BORON
BORTY
BOSER
BOSSY
BOULE
BOUND
BOURD
BOURN
BOUSE
BOUSY
BRAID
BRAIL
BRAIN
BRAND
BRANT
BRASH
BRASS
BREAD
BREDE
BREED
BRENT
BRETH
BRETT
BRIAN
BRIAR
BRIDE
BRIER
BRILL
BRINE
BRINY
BRISS
BRITH
BROAD
BROIL
BROLL
BROOD
BROOL
BROON
BROSE
BROSY
BROTH
BRUIN
BRUIT
BRULE
BRUNT
BRUSH
BRUTE
CAIRD
CAIRN
CAITE
CALAS
CALID
CALOR
CANAL
CANDY
CANEL
CANER
CANID
CANIS
CANNY
CANOE
CANON
CANTY
CARAT
CARER
CARET
CARID
CARLS
CAROL
CARRY
CARSE
CARTE
CARTY
CASAL
CASED
CASEL
CASER
CASEY
CASSE
CASTE
CATAN
CATER
CATTY
CAULD
CAUSE
CEASE
CEILE
CENSE
CEORL
CERAL
CERAS
CERED
CERER
CERIN
CERTY
CETID
CETIN
CHAIN
CHAIR
CHAIS
CHAIT
CHANE
CHANT
CHAOS
CHARD
CHARE
CHARR
CHART
CHARY
CHASE
CHEAT
CHEER
CHEET
CHEIR
CHERT
CHESS
CHEST
CHETH
CHIAN
CHIDE
CHIEN
CHILD
CHILE
CHILL
CHINE
CHINT
CHIOT
CHIRR
CHLOE
CHLOR
CHOEL
CHOES
CHOIL
CHOIR
CHOLD
CHORD
CHORE
CHORT
CHOSE
CHOTT
CHRIS
CHUDE
CHURL
CHURN
CHURR
CHUTE
CINDY
CINEL
CITEE
CITER
CLARE
CLART
CLARY
CLASH
CLASS
CLEAD
CLEAN
CLEAR
CLEAT
CLINE
CLINT
CLITE
CLOIT
CLONE
CLOOT
CLOSE
CLOSH
CLOTE
CLOTH
COAID
COALY
COAST
COINY
COLAN
COLIN
COLLY
COLON
COLOR
CONAL
CONED
CONER
CONES
CONIN
CONOR
CONOY
CONTE
COOEE
COOER
COOLY
COONY
COOST
CORAH
CORAL
CORDY
CORED
COREE
CORER
COREY
CORIN
CORNY
COROL
CORSE
COSET
COSSE
COTTE
COTTY
COUDE
COULD
COUNT
COURS
COURT
COUTH
CRAIN
CRANE
CRARE
CRASH
CRASS
CRATE
CREAT
CREED
CREEL
CREEN
CRESS
CREST
CRETE
CRIED
CRIER
CRIEY
CRILE
CRINE
CRISS
CRITH
CROAT
CRONE
CRONY
CROOD
CROOL
CROON
CRORE
CROSS
CRUDE
CRUEL
CRUET
CRUNT
CRUOR
CRUSE
CRUSH
CRUST
CRUTH
CTENE
DAILY
DAIRY
DAISY
DALAR
DALER
DALLE
DALLY
DANDY
DANNY
DARAT
DAREN
DARER
DARES
DARIN
DARST
DARTS
DASNT
DASSY
DATER
DATIL
DAUNT
DEAIR
DEALT
DEARY
DEASH
DEATH
DEEDY
DEIST
DEITY
DELAY
DENAT
DENIS
DENSE
DENTY
DERAH
DERAT
DERAY
DERRY
DETAR
DETER
DETIN
DHOLE
DHOON
DIANE
DIARY
DIENE
DILLY
DINAH
DINAR
DINER
DIODE
DIONE
DIOON
DIOSE
DIRTY
DITAL
DITER
DITTY
DOEST
DOILY
DOLLY
DOLOR
DONAL
DONAR
DONEE
DONET
DONEY
DONNE
DONOR
DOOLY
DORAD
DOREE
DORIS
DORTS
DORTY
DOSER
DOSIS
DOTAL
DOTED
DOTER
DOTTY
DOUAR
DOUSE
DRAIL
DRAIN
DRANT
DRATE
DREAD
DREAR
DRESS
DREST
DRIAS
DRIED
DRIER
DRILL
DRINN
DROIT
DROLL
DRONE
DRONY
DROOL
DROSS
DRUID
DRUSE
DRUSY
FAERY
FAINS
FAINT
FAIRY
FAITH
FALLY
FALSE
FANAL
FANNY
FANON
FARAD
FARDE
FARDH
FARER
FARSE
FATAL
FATED
FATIL
FATLY
FATTY
FAULD
FAULT
FAUSE
FAUST
FEAST
FEATY
FEEDY
FEERE
FEINT
FEIST
FELID
FELIS
FELLY
FELON
FELTY
FENDY
FENNY
FERAE
FERAL
FERIE
FERLY
FERNY
FERRY
FESTE
FETAL
FETID
FETOR
FEUAR
FEUED
FIARD
FIELD
FIEND
FIENT
FIERY
FILAR
FILER
FILET
FILLY
FILTH
FINAL
FINER
FINIS
FINNY
FIORD
FIRED
FIRER
FIRRY
FIRST
FIRTH
FISTY
FITLY
FITTY
FLAIL
FLAIR
FLANE
FLARE
FLARY
FLASH
FLEAY
FLEER
FLEET
FLESH
FLIER
FLINT
FLIRT
FLITE
FLOAT
FLOEY
FLOOD
FLOOR
FLORY
FLOSH
FLOSS
FLUED
FLUER
FLUEY
FLUID
FLUOR
FLURN
FLURR
FLUSH
FLUTE
FLUTY
FOALY
FOIST
FOLDY
FOLIE
FOLLY
FONLY
FOODY
FOOTS
FOOTY
FORAY
FORDY
FOREL
FORST
FORTE
FORTH
FORTY
FOSIE
FOSSE
FOUND
FOUNT
FOUTE
FOUTH
FRAID
FRAIL
FRASE
FRASS
FREED
FREER
FREET
FREIR
FREIT
FREON
FRESH
FRETT
FRIAR
FRIED
FRIER
FRILL
FRIST
FRITH
FRITT
FROND
FRONT
FRORE
FRORY
FROSH
FROST
FROTH
FRUIT
FRUSH
LAINE
LAIRD
LAIRY
LAITY
LANAS
LANEY
LANNY
LARDY
LARID
LARIN
LARRY
LASER
LASTY
LATAH
LATED
LATEN
LATER
LATIN
LAUAN
LAUND
LEADS
LEADY
LEANT
LEARN
LEASE
LEASH
LEAST
LEATH
LEERY
LEITH
LENAD
LENIS
LENNY
LENTH
LEROT
LESIY
LESSN
LETTY
LIARD
LIESH
LINED
LINEN
LINER
LINET
LINIE
LININ
LINNE
LINON
LINOS
LINTY
LISLE
LITAS
LITER
LLUDD
LOATH
LOESS
LOLLY
LOONY
LOOSE
LORAL
LORAN
LORDY
LORED
LOREN
LORIS
LORRY
LOSEL
LOSER
LOTTE
LOUEY
LOUIE
LOUIS
LOUSE
LOUSY
LOUTY
PAEAN
PAEON
PAINT
PALAR
PALAS
PALAY
PALED
PALER
PALES
PALET
PALLY
PALSY
PANDY
PANED
PANEL
PANNE
PANOS
PANSE
PANSY
PANTS
PANTY
PARAH
PAREL
PAREN
PARER
PARIS
PARLE
PARLY
PAROL
PARRY
PARSE
PARTY
PASAN
PASSE
PASTE
PASTY
PATAS
PATEL
PATEN
PATER
PATLY
PATSY
PATTE
PATTY
PAUSE
PEARL
PEART
PEASY
PEATY
PEELE
PEEOY
PEERY
PEINE
PEISE
PELON
PENAL
PENIS
PENNY
PENSY
PEONY
PERES
PERIL
PERIT
PERLE
PERRY
PERSE
PERTY
PESAH
PESTE
PETAL
PETER
PETIT
PETRE
PETTY
PHAET
PHARE
PHASE
PHEAL
PHENE
PHENY
PHEON
PHIAL
PHILL
PHONE
PHONY
PHOSE
PIAST
PIEND
PIETE
PIETY
PILAR
PILED
PILER
PILES
PILIN
PILON
PILOT
PINAL
PINDY
PINED
PINER
PINEY
PINNY
PINON
PINTE
PIOTR
PIRNY
PIROL
PISAN
PISAY
PLAID
PLAIN
PLAIT
PLANE
PLANT
PLASH
PLASS
PLATE
PLATT
PLATY
PLEAD
PLEAT
PLENY
PLEON
PLIED
PLIER
PLIES
PLINY
PLOAT
PLOTE
PLUSH
POESY
POIND
POINT
POISE
POLAR
POLER
POLEY
POLIS
POLLY
POLOS
PONDY
PONEY
POOLY
PORAL
PORED
PORER
POROS
PORRY
PORTY
POSER
POSEY
POSIT
POSSE
POTER
POTTY
POULT
POUND
POUTY
PRASE
PRATE
PRATT
PREEN
PRESS
PREST
PRIDE
PRIDY
PRIED
PRIER
PRILL
PRINE
PRINT
PRION
PRIOR
PRISS
PROAL
PRONE
PRORE
PROSE
PROSS
PROSY
PROTE
PRUDE
PRUDY
PRUNE
PRUNT
SAIID
SAILY
SAINT
SAIRY
SAITE
SALAD
SALAL
SALAR
SALAT
SALAY
SALLE
SALLY
SALOL
SALON
SALSE
SALTY
SANDY
SARAH
SARAN
SAROD
SARON
SAROS
SASAN
SASIN
SASSY
SATAN
SATIN
SAULD
SAULT
SAURY
SAUTE
SAUTY
SEARY
SEEDY
SEELY
SEINE
SEISE
SEITY
SELAH
SELLY
SENSE
SERAL
SEREH
SERER
SERES
SERIN
SERON
SERRY
SETAE
SETAL
SETON
SHADE
SHADY
SHALE
SHALL
SHALT
SHALY
SHANE
SHANT
SHARD
SHARE
SHARN
SHEAL
SHEAN
SHEAR
SHEAT
SHEEN
SHEER
SHEET
SHELD
SHELL
SHEND
SHEOL
SHETH
SHIAH
SHIDE
SHIED
SHIEL
SHIER
SHIES
SHILH
SHILL
SHINE
SHINY
SHIRE
SHIRL
SHIRR
SHIRT
SHISH
SHISN
SHOAD
SHOAL
SHOAT
SHODE
SHOER
SHOLE
SHONE
SHOOD
SHOOL
SHOOR
SHOOT
SHORE
SHORN
SHORT
SHOTE
SHOTT
SHRED
SHREE
SHUNE
SHUNT
SHURE
SHUSH
SILAS
SILEN
SILLY
SILTY
SINAE
SINAL
SIREN
SIRIH
SIRIS
SISAL
SISEL
SISSY
SITAR
SLADE
SLAIN
SLAIT
SLANE
SLANT
SLARE
SLART
SLASH
SLATE
SLATH
SLATY
SLEER
SLEET
SLENT
SLETE
SLIDE
SLINE
SLIRT
SLISH
SLITE
SLOAN
SLONE
SLOSH
SLOTE
SLOTH
SLUER
SLUIT
SLUSH
SNAIL
SNARE
SNARL
SNARY
SNATH
SNEAD
SNEER
SNELL
SNIDE
SNIRL
SNIRT
SNITE
SNOOD
SNOOT
SNORE
SNORT
SNURL
SNURT
SOARY
SOILY
SOLAN
SOLAR
SOLAY
SOLEN
SOLER
SOLES
SOLID
SOLOD
SOLON
SONAR
SONLY
SONNY
SONSY
SOORD
SOOTH
SOOTY
SORAL
SOREE
SORRY
SORTY
SOTER
SOTIE
SOTOL
SOULY
SOUND
SOURY
SOUSE
SOUTH
SPADE
SPAER
SPAID
SPALD
SPALE
SPALL
SPALT
SPANE
SPANN
SPARE
SPART
SPARY
SPASS
SPATE
SPEAL
SPEAN
SPEAR
SPEED
SPEEL
SPEEN
SPEER
SPELL
SPELT
SPEND
SPENT
SPEOS
SPIED
SPIEL
SPIER
SPILE
SPILL
SPILT
SPINE
SPINY
SPIRE
SPIRT
SPIRY
SPISE
SPITE
SPLAT
SPLAY
SPLET
SPLIT
SPODE
SPOIL
SPOLE
SPOOL
SPOON
SPOOR
SPOOT
SPORE
SPORT
SPOSH
SPRAD
SPRAT
SPRAY
SPREE
SPRET
SPRIT
SPROD
SPURL
SPURN
SPURT
STADE
STAID
STAIN
STAIR
STALE
STALL
STAND
STANE
STARE
STARN
START
STARY
STASH
STATE
STEAD
STEAL
STEAN
STEED
STEEL
STEEN
STEER
STEID
STEIN
STELE
STELL
STEND
STENT
STERE
STERN
STERT
STILE
STILL
STILT
STINE
STINT
STION
STITE
STITH
STOAT
STOLE
STOND
STONE
STONY
STOOD
STOOL
STOON
STOOT
STORE
STORY
STOSH
STOSS
STRAD
STRAE
STRAY
STREE
STRET
STREY
STRID
STRIT
STROY
STUDE
STUDY
STULL
STUNT
STURT
STUSS
TAILY
TAINT
TAIRN
TAISE
TALAR
TALED
TALER
TALES
TALIS
TALLY
TALON
TANAN
TANDY
TANSY
TARDY
TARIE
TARIN
TAROT
TARRY
TARSE
TASSE
TASTE
TASTY
TATAR
TATER
TATES
TATIE
TATTY
TAUNT
TEAER
TEAEY
TEART
TEARY
TEASE
TEASY
TEATY
TEENS
TEENY
TEEST
TEETH
TEETY
TEIAN
TEIND
TELAR
TELLT
TENET
TENNE
TENON
TENOR
TENSE
TENTH
TENTY
TERAS
TERNE
TERRY
TERSE
TESTE
TESTY
TETEL
TETON
THAIS
THANE
THATN
THATS
THEAH
THEAT
THEER
THEET
THEIR
THERE
THESE
THILL
THINE
THIOL
THIRD
THIRL
THIRT
THISN
THOLE
THONE
THORE
THORN
THORT
THOSE
THREE
THROE
THUAN
THULE
THULR
THURL
THURT
TILDE
TILED
TILER
TILLY
TILTH
TILTY
TINED
TINNE
TINNY
TINTY
TIRED
TIRER
TISAR
TITAN
TITAR
TITER
TITLE
TITRE
TITTY
TOADY
TOAST
TOISE
TOITY
TOLAN
TOLLY
TONAL
TONED
TONER
TOOSH
TOOTH
TORAH
TORAL
TORAN
TORED
TORSE
TOSSY
TOTAL
TOTER
TOTTY
TOULD
TOURN
TOUSE
TOUSY
TRADE
TRADY
TRAIL
TRAIN
TRAIT
TRANT
TRASH
TRASS
TRASY
TREAD
TREAT
TREED
TREEN
TREEY
TREND
TRENT
TRESS
TREST
TRIAD
TRIAL
TRIAS
TRIED
TRIER
TRILL
TRINE
TRIOR
TRIST
TRITE
TROAD
TROAT
TRODE
TROLL
TRONE
TROOT
TROTH
TRUDY
TRUER
TRULL
TRULY
TRUSH
TRUSS
TRUST
TRUTH
WAILY
WAIRD
WAISE
WAIST
WALED
WALER
WALLY
WALSH
WALTH
WANDY
WANED
WANLE
WANLY
WANNY
WANTY
WARLY
WARNT
WARSE
WARST
WARTH
WARTY
WASAT
WASEL
WASIR
WASNT
WASTE
WASTY
WATER
WAUNS
WEALD
WEARY
WEEDY
WEENY
WEESH
WEIRD
WELLY
WELSH
WENDE
WENDY
WENNY
WESTE
WESTY
WETLY
WHALE
WHALY
WHAND
WHARE
WHARL
WHART
WHASE
WHATS
WHEAL
WHEAT
WHEEL
WHEEN
WHEER
WHEIN
WHERE
WHILE
WHILL
WHILS
WHINE
WHINY
WHIRL
WHISH
WHIST
WHITE
WHITS
WHITY
WHOLE
WHONE
WHORE
WHORL
WHORT
WHOSE
WHUSH
WHUTE
WIELD
WILLY
WINDY
WINED
WINER
WINLY
WIRED
WIRER
WIROS
WISEN
WISER
WISSE
WISTE
WITAN
WITTY
WOADY
WOALD
WOLDY
WOODY
WOOER
WOOLD
WOONS
WOOSH
WORDY
WORLD
WORRY
WORSE
WORST
WORTH
WOULD
WOUND
WRATH
WREAT
WREST
WRIDE
WRIED
WRIER
WRIST
WRITE
WRITH
WROTE
WROTH
AANI
AEON
AERO
AHET
AHIR
AIAS
AIEL
AILE
AINT
AION
AIRA
AIRE
AIRT
ALAN
ALAR
ALAS
ALEA
ALEE
ALEN
ALIN
ALIT
ALLE
ALOD
ALOE
ALSO
ALTO
ALUR
ANAL
ANAN
ANAS
ANAT
ANES
ANIL
ANIS
ANNA
ANNE
ANOA
ANON
ANSA
ANTA
ANTE
ANTI
ANUS
AOUL
APAR
APER
APII
APIO
APIS
APOD
APSE
APUS
ARAD
ARAR
AREA
ARED
ARIA
ARID
ARIL
ARNA
ARNE
ARNI
ARSE
ARUI
ATEN
ATES
ATIS
ATLE
ATTA
BAAL
BAAR
BAIL
BAIN
BAIS
BAIT
BALA
BALD
BALE
BALI
BALL
BALT
BANA
BAND
BANE
BANI
BANT
BARA
BARD
BARE
BARI
BARN
BART
BASE
BASS
BAST
BATE
BATS
BATT
BAUD
BAUL
BAUN
BEAD
BEAL
BEAN
BEAR
BEAT
BEEN
BEER
BEES
BEET
BEID
BELA
BELD
BELL
BELT
BENA
BEND
BENE
BENI
BENN
BENO
BENT
BERE
BERI
BERN
BERT
BESA
BESS
BEST
BETA
BHAR
BHAT
BHIL
BHUT
BIAS
BIEN
BIER
BILE
BILL
BILO
BIND
BINE
BINI
BINO
BINT
BIOD
BION
BIOS
BIRD
BIRI
BIRL
BIRN
BIRR
BITE
BITI
BITO
BITT
BLAD
BLAE
BLAN
BLAS
BLAT
BLEE
BLEO
BLET
BLOT
BLUE
BLUR
BOAR
BOAT
BOER
BOID
BOII
BOIL
BOIS
BOLA
BOLD
BOLE
BOLL
BOLO
BOLT
BOND
BONE
BONI
BOOD
BOOL
BOON
BOOR
BOOT
BORA
BORD
BORE
BORN
BORO
BORT
BOSE
BOSN
BOSS
BOTA
BOTE
BOTT
BOUD
BOUN
BOUT
BRAD
BRAE
BRAN
BRAT
BRED
BREE
BREI
BRET
BRIN
BRIT
BROD
BROO
BROT
BRUT
CAID
CAIN
CALL
CANA
CAND
CANE
CANT
CARA
CARD
CARE
CARL
CARO
CARR
CART
CASE
CASS
CAST
CATE
CAUL
CEIL
CELL
CELT
CENT
CERE
CERN
CERO
CESS
CEST
CETE
CETI
CHAA
CHAD
CHAI
CHAL
CHAO
CHAR
CHAT
CHEE
CHEN
CHET
CHIA
CHID
CHIL
CHIN
CHIT
CHOL
CHUD
CHUN
CHUT
CINE
CION
CISE
CIST
CITE
CLAD
CLAN
CLAT
CLED
CLEE
CLIO
CLIT
CLOD
CLOT
CLUE
COAL
COAN
COAT
COED
COIL
COIN
COIR
COLA
COLD
COLE
COLI
COLL
COLT
COND
CONE
CONN
COOL
COON
COOS
COOT
CORA
CORD
CORE
CORN
COSS
COST
COTE
COTO
COUE
COUL
CRAN
CREA
CREE
CRIN
CRIS
CRUS
DAER
DAIL
DAIN
DAIS
DALE
DALI
DALT
DANA
DAND
DANE
DANI
DARD
DARE
DARI
DARN
DARR
DART
DASI
DATA
DATE
DAUD
DAUR
DAUT
DEAD
DEAL
DEAN
DEAR
DEED
DEER
DELE
DELL
DENE
DENT
DERE
DERN
DESI
DESS
DEUL
DHAI
DHAN
DIAL
DIAN
DIER
DIET
DILL
DILO
DINE
DINT
DIOL
DION
DIRD
DIRE
DIRL
DIRT
DISA
DISS
DITA
DITE
DOAT
DOER
DOES
DOIT
DOLA
DOLE
DOLI
DOLL
DOLT
DONE
DONN
DONT
DOOL
DOON
DOOR
DORA
DORI
DORN
DOSA
DOSE
DOSS
DOTE
DOTO
DOUR
DOUT
DRAT
DREE
FAIL
FAIN
FAIR
FALL
FANA
FAND
FANT
FAON
FARE
FARL
FARO
FASS
FAST
FATE
FAUN
FEAL
FEAR
FEAT
FEED
FEEL
FEER
FEIL
FEIS
FELL
FELS
FELT
FEND
FENT
FEOD
FERN
FESS
FEST
FEUD
FIAR
FIAT
FILE
FILL
FILO
FILS
FIND
FINE
FINN
FIOT
FIRE
FIRN
FISE
FIST
FLAN
FLAT
FLEA
FLED
FLEE
FLET
FLIT
FLOE
FLOT
FLUE
FOAL
FOIL
FOLD
FOLE
FONO
FONS
FONT
FOOD
FOOL
FOOT
FORA
FORD
FORE
FORT
FOUD
FOUL
FOUN
FOUR
FRAE
FRAT
FRED
FREE
FRET
FRIT
FROE
FROT
LAET
LAID
LAIN
LAIR
LALL
LALO
LANA
LAND
LANE
LANT
LARD
LARI
LARS
LASA
LASI
LASS
LAST
LATA
LATE
LAUD
LAUN
LAUR
LEAD
LEAL
LEAN
LEAR
LEAT
LEED
LEER
LEES
LEET
LENA
LEND
LENE
LENO
LENS
LENT
LEON
LESS
LEST
LETE
LETO
LETT
LEUD
LIAR
LIAS
LIED
LIEN
LIER
LIIN
LILA
LILE
LILL
LILT
LINA
LINE
LINN
LINO
LINT
LION
LIRA
LIRE
LISA
LISE
LISS
LIST
LITE
LOAD
LOAN
LOIN
LOIR
LOIS
LOLA
LOLL
LOLO
LONE
LOOD
LOON
LOOT
LORA
LORD
LORE
LORI
LORN
LORO
LORS
LOSE
LOSS
LOST
LOTA
LOTE
LOTS
LOUD
LOUR
LOUT
PAAL
PAAR
PAIL
PAIN
PAIR
PAIS
PALA
PALE
PALI
PALL
PALT
PAND
PANE
PANI
PANT
PAON
PARA
PARD
PARE
PARI
PARR
PART
PASI
PASS
PAST
PATA
PATE
PATO
PAUL
PAUT
PEAI
PEAL
PEAN
PEAR
PEAT
PEED
PEEL
PEEN
PEER
PELE
PELL
PELT
PEND
PENT
PEON
PERI
PERN
PERT
PESA
PESO
PESS
PEST
PETE
PETO
PETR
PEUL
PHIL
PHIT
PHON
PHOO
PHOS
PHOT
PHUT
PIAL
PIAN
PIED
PIEN
PIER
PIET
PILE
PILI
PILL
PINA
PIND
PINE
PINO
PINT
PIRL
PIRN
PIRO
PIRR
PISE
PISO
PISS
PIST
PITA
PLAN
PLAT
PLEA
PLED
PLOD
PLOT
PLUD
PLUS
POET
POIL
POLE
POLL
POLO
POLT
POND
PONE
PONT
POOA
POOL
POON
POOR
POOT
PORE
PORR
PORT
POSE
POSS
POST
POTE
POTT
POUR
POUT
PRAD
PRAT
PRIA
PROA
PROD
PROO
PRUE
PRUT
SAAD
SAAN
SAID
SAIL
SAIN
SAIR
SALE
SALT
SAND
SANE
SANS
SANT
SARA
SARD
SARE
SARI
SART
SASA
SATE
SAUL
SAUR
SAUT
SEAL
SEAN
SEAR
SEAT
SEED
SEEL
SEEN
SEER
SEID
SEIT
SELE
SELL
SELT
SEND
SENT
SERA
SERE
SERI
SERO
SERT
SESS
SETA
SETT
SHAD
SHAI
SHAN
SHAT
SHEA
SHED
SHEE
SHEL
SHEN
SHER
SHIN
SHOA
SHOD
SHOE
SHOO
SHOR
SHOT
SHUL
SHUN
SHUT
SIAL
SIER
SILE
SILL
SILO
SILT
SINA
SIND
SINE
SIOL
SION
SIRE
SISE
SISI
SISS
SIST
SITA
SITE
SLAD
SLAE
SLAT
SLED
SLEE
SLID
SLIT
SLOD
SLOE
SLON
SLOO
SLOT
SLUD
SLUE
SLUR
SLUT
SNED
SNEE
SNOD
SNOT
SNUR
SOAR
SOIL
SOLA
SOLD
SOLE
SOLI
SOLO
SOND
SONS
SOOL
SOON
SOOT
SORA
SORE
SORI
SORN
SORT
SOSO
SOSS
SOTS
SOUD
SOUL
SOUR
SPAD
SPAE
SPAN
SPAR
SPAT
SPED
SPET
SPIN
SPIT
SPOR
SPOT
SPUD
SPUN
SPUR
SPUT
STAN
STAR
STEN
STET
STID
STIR
STOA
STOD
STOT
STRA
STRE
STUD
STUE
STUN
STUT
TAAL
TAAR
TAEL
TAEN
TAIL
TAIN
TAIT
TALA
TALD
TALE
TALI
TALL
TANA
TANE
TANO
TAOS
TARA
TARE
TARI
TARN
TARO
TARR
TARS
TART
TASS
TATE
TAUN
TAUR
TAUT
TEAD
TEAL
TEAN
TEAR
TEAT
TEEL
TEEN
TEER
TEET
TEIL
TELE
TELI
TELL
TELT
TEND
TENT
TERA
TERI
TERN
TESS
TEST
TETE
THAD
THAI
THAN
THAR
THAT
THEA
THEE
THEN
THEO
THIN
THIO
THIR
THIS
THON
THOO
THOS
THRO
THUD
THUS
TIAO
TIAR
TIED
TIEN
TIER
TILE
TILL
TILT
TINA
TIND
TINE
TINO
TINT
TIRE
TIRL
TIRR
TITE
TITI
TOAD
TOAT
TOED
TOIL
TOIT
TOLD
TOLE
TOLL
TOLT
TONE
TOOL
TOON
TOOT
TORA
TORE
TORN
TORO
TORT
TOSS
TOST
TOTE
TOTO
TOUR
TOUT
TRAN
TREE
TRET
TRIN
TRIO
TROD
TRON
TROT
TRUE
TRUN
WAAR
WAER
WAIL
WAIN
WAIT
WALE
WALI
WALL
WALT
WAND
WANE
WANT
WARD
WARE
WARL
WARN
WART
WASE
WAST
WATT
WAUL
WAUR
WEAL
WEAN
WEAR
WEED
WEEL
WEEN
WEET
WEIR
WELD
WELL
WELS
WELT
WEND
WENE
WENT
WERE
WERI
WERT
WESE
WEST
WETA
WHAN
WHAR
WHAT
WHEE
WHEN
WHET
WHID
WHIN
WHIR
WHIT
WHOA
WHOO
WHUD
WHUN
WILD
WILE
WILL
WILT
WIND
WINE
WINT
WIRD
WIRE
WIRL
WIRR
WISE
WISS
WIST
WITE
WOAD
WOAN
WOLD
WONE
WONT
WOOD
WOOL
WOON
WORD
WORE
WORN
WORT
WOTE
WOTS
WRAN
WREN
WRIT
#!/usr/bin/python
import string
# These are the letters that appear on my lock. The string is as how they appear
# in one particular combination, and this code turns it into a list where each element
# is is an actual ring of letters on the lock.
rings = zip(*"""LAISE
DILND
FLURH
ANAIN
PTELL
CHRDS
TRTTY
SPSER
WONO
BEOAT""".split('\n'))
# The built-in dictionary in Mac OS X is located here
with open('/usr/share/dict/web2', 'r') as f:
all_words = set(map(string.strip, f.readlines()))
def is_capitalized(word):
return word[0]==word[0].upper()
proper_names = set(filter(is_capitalized, all_words))
good_words = all_words - set(map(string.lower, proper_names))
words = sorted(map(string.upper, good_words))
four_letter_words = filter(lambda w: len(w)==4, words)
five_letter_words = filter(lambda w: len(w)==5, words)
for n in range(4):
four_letter_words = filter(lambda w: w[n] in rings[n], four_letter_words)
for n in range(5):
five_letter_words = filter(lambda w: w[n] in rings[n], five_letter_words)
with open('fours.txt', 'w') as f:
f.write('\n'.join(four_letter_words))
with open('fives.txt', 'w') as f:
f.write('\n'.join(five_letter_words))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment