De Amerikaanse fotograaf Adolph L. Schafer1 van Paramount Pictures2 maakte in 1934 deze compositie, waarmee hij in één klap 10 regels van de Hays Code3 aan zijn laars lapte — de richtlijn voor zelfcensuur die Hollywood tussen 1934 en 1968 hanteerde.
Nadat Schafer de foto had instuurd naar een prestigieuze wedstrijd en de organisatoren met een fikse boete dreigden, wees hij er fijntjes op dat de juryleden er als de kippen bij geweest waren om één van de 18 ingezonden exemplaren te bemachtigen.
De woorden van een zin bestaan uit de langst mogelijke reeksen van opeenvolgende letters (hoofdletters en kleine letters). We gaan ervan uit dat een zin geen cijfers bevat.
We censureren een woord door het te vervangen door de eerste letter van het woord, gevolgd door de lengte van het woord (in cijfers). Zo wordt het woord narcotics gecensureerd als n9 en RELATIONSHIPS als R13.
Uit een gecensureerd woord kunnen we het originele woord niet reconstrueren. Het enige dat we weten is de eerste letter en de lengte van het woord. Daarom zullen we een gecensureerd woord onthullen als de eerste letter van het woord, gevolgd door vraagtekens voor alle letters die we niet kennen. Zo wordt het gecensureerde woord n9 onthuld als n???????? en R13 als R????????????.
Gevraagd wordt:
Schrijf een functie gecensureerd waaraan een woord (str) moet doorgegeven worden. De functie moet het gecensureerde woord (str) teruggeven.
Schrijf een functie onthuld waaraan een gecensureerd woord (str) moet doorgegeven worden. De functie moet de onthulling (str) van het gecensureerde woord teruggeven.
Schrijf een functie censureren waaraan een zin (str) moet doorgegeven worden. De functie moet de zin (str) teruggeven waarin alle woorden gecensureerd werden. Karakters die geen letter zijn mogen bij het censureren van de zin niet gewijzigd worden.
Schrijf een functie onthullen waaraan een gecensureerde zin (str) moet doorgegeven worden: een zin waarin alle woorden gecensureerd werden. De functie moet de zin (str) teruggeven waarin alle gecensureerde woorden onthuld werden. Karakters die geen letter zijn mogen bij het onthullen van de gecensureerde woorden in de zin niet gewijzigd worden.
>>> gecensureerd('narcotics')
'n9'
>>> gecensureerd('RELATIONSHIPS')
'R13'
>>> onthuld('n9')
'n????????'
>>> onthuld('R13')
'R????????????'
>>> censureren('Miscegenation (interracial relationships) were not allowed.')
'M13 (i11 r13) w4 n3 a7.'
>>> censureren('Words like "God," "Lord," "Jesus," "Christ," "hell," and "damn" could not be used!')
'W5 l4 "G3," "L4," "J5," "C6," "h4," a3 "d4" c5 n3 b2 u4!'
>>> onthullen('M13 (i11 r13) w4 n3 a7.')
'M???????????? (i?????????? r????????????) w??? n?? a??????.'
>>> onthullen('W5 l4 "G3," "L4," "J5," "C6," "h4," a3 "d4" c5 n3 b2 u4!')
'W???? l??? "G??," "L???," "J????," "C?????," "h???," a?? "d???" c???? n?? b? u???!'
Kunstenaar Bruce Timm4 maakte een gelijkaardige compositie door negen thema's te combineren die geweerd werden uit de animatiereeks Batman: The Animated Series5: wapens, drugs, gebroken glas, alcohol, roken, naaktheid, kinderen in gevaar brengen, religie en wurging: