quaintest, motel clerk, colorer, offended, radar love, mitzvah, roleplay, face to face
M(QUAINTEST) F(MOTEL CLERK) F(COLORER) M(OFFENDED) F(RADAR LOVE) M(MITZVAH) F(ROLE PLAY) M(FACE TO FACE)
In [2]:
# Search for acrostics in solutions.
import forge
from puzzle.puzzlepedia import puzzlepedia
puzzle = puzzlepedia.parse("""
* FACETOFACE
* MOTELCLERK
* QUAINTEST
* RADARLOVE
* OFFENDED
* ROLEPLAY
* MITZVAH
* COLORER
""", hint="acrostic")
In [17]:
# Apply cryptogram keys to solutions.
import forge
import string
given = """
quaintest
motel clerk
colorer
offended
radar love
mitzvah
roleplay
face to face
""".strip().split('\n')
given = """
* LARCH MARCH
* SIMPLE SIMILE
* FORAY FORTY
* DOYEN DOZEN
* EERILY VERILY
* SOUP SOAP
* MUST MUSH
""".strip().split('\n')
given = """
Tindr, FarmersOnly, Grindr, OKCupid, eHarmony, Ashley Madison, jDate, PlentyOfFish.com, Bumble
""".strip().split('\n')
maps = (
(
"""
LIT NPGRU IRL GWOLTNW
LIT ENTTJ MPVVFU GWOLTNW
LIT TEWYLFRU MNPOO GWOLTNW
LIT OFRGTOT LCFU GWOLTNW
LIT PNFEFU PV TZFD
""",
"""
THE ROMAN HAT MYSTERY
THE GREEK COFFIN MYSTERY
THE EGYPTIAN CROSS MYSTERY
THE SIAMESE TWIN MYSTERY
THE ORIGIN OF EVIL
""",
),
(
"""
KQLECDP
NDWSDNLSI
ZOMXFUSLDI
LZZ BFPN PNDFQ NDMWI
YOMRFUS KMQW
""",
"""
CROQUET
HEDGEHOGS
FLAMINGOES
OFF WITH THEIR HEADS
BLAZING CARD
""",
),
(
"""
ZOXMNRBFGP DGQGXT
XYIBNK
DINRXT XFGIQTK
QYRBTKL ITNBRNRB PYRGIXF
YXTGR QNRTI
""",
"""
BUCKINGHAM PALACE
CORGIS
PRINCE CHARLES
LONGEST REIGNING MONARCH
OCEAN LINER
""",
),
(
"""
LUF ZTYSWDWMFSL VFQFS
LUF YEFTL FVMTRF
LUF LPXFEWSY WSDFESP
RTRWJJPS
LUF MWSMWSSTLW OWC
""",
"""
THE MAGNIFICENT SEVEN
THE GREAT ESCAPE
THE TOWERING INFERNO
PAPILLON
THE CINCINNATI KID
""",
),
(
"""
HZRWPO FY Z BDBRZ
IQZVL PODTH
FPGOP DH RNO VFWPR
RNO GZHZ FXOHB ZQIWU
SOPBFHZ
""",
"""
NATURE OF A SISTA
BLACK REIGN
ORDER IN THE COURT
THE DANA OVENS ALBUM
PERSONA
""",
),
)
translations = []
for before, after in maps:
assert len(before) == len(after)
translations.append(str.maketrans(before.lower(), after.lower()))
translations.append(str.maketrans(after.lower(), before.lower()))
for s in given:
print(s)
for t in translations:
print(s.lower().translate(t))
print()
In [ ]: