Gisterenavond kreeg ik een berichtje van mijn vriend(in) waarin stond te lezen noh ss!w. Eerst kon ik er kop noch staart aan krijgen, maar toen ik mijn telefoon omgekeerd, hield was ik er helemaal van ondersteboven.
We vragen je om een programma te schrijven dat een gegeven tekstfragment 180° gedraaid kan uitschrijven. Probeer bijvoorbeeld eens het volgende bericht te lezen:
˙˥ɐɯᴉuɐ ɹǝɥʇo ʎuɐ uɐɥʇ sǝsɐǝsᴉp ǝɹoɯ ʇᴉɯsuɐɹʇ ʎǝɥʇ 'ǝʇsɐʍ ˥ɐɯᴉuɐ ƃuᴉʇᴉsᴉʌ ɟo sʇᴉqɐɥ ɹᴉǝɥʇ ɟo ǝsnɐɔǝq ˙ʎ˥ɟǝsnoɥ uoɯɯoɔ ǝɥʇ sᴉ p˥ɹoʍ ǝɥʇ uᴉ ˥ɐɯᴉuɐ snoɹǝƃuɐp ʇsoɯ ǝɥ┴
Een kleine tip voor je je nek breekt of probeert om je computerscherm op zijn kop te zetten: als je met een Windows besturingssysteem werkt, dan kan je tegelijkertijd de toetsen Alt, Ctrl en één van de pijltjestoetsen indrukken. Het pijtje naar links zal de weergave tegenwijzerzin draaien over 90°. Het pijltje naar onder zal de weergave ondersteboven zetten. Met het pijltje naar boven breng je de weergave terug zoals die oorspronkelijk was.
De eerste regel van de invoer bevat een getal $$n \in \mathbb{N}_0$$. Daarna volgen $$n$$ regels tekst.
Schrijf het gegeven tekstfragment 180° gedraaid uit. Daarbij moet je de volgorde van de regels omkeren, moet je de volgorde van de karakters op elke regel omkeren, en moet je elk karakter vervangen door het omgekeerde karakter. Je mag ervan uitgaan dat het gegeven tekstfragment enkel de volgende karakters bevat.
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ?!.-()<>%$',:_/\
Elk van deze karakters kan omgekeerd worden, door gebruik te maken van het karakter dat je op dezelfde positie terugvindt in onderstaande reeks karakters.
ɐqɔpǝɟƃɥᴉɾʞ˥ɯuodbɹsʇnʌʍxʎz∀qƆpƎℲפHIſʞ˥WNOԀΌɹS┴∩ΛMX⅄Z0ƖᄅƐㄣϛ9ㄥ86 ¿¡˙-)(><%$,':‾\/
We maken hierbij optimaal gebruik van het feit dat Python zonder problemen kan omgaan met de uitgebreide Unicode karakterset1.
Invoer:
4
The most dangerous animal in the world is the
common housefly. Because of their habits of
visiting animal waste, they transmit more diseases
than any other animal.
Uitvoer:
˙˥ɐɯᴉuɐ ɹǝɥʇo ʎuɐ uɐɥʇ
sǝsɐǝsᴉp ǝɹoɯ ʇᴉɯsuɐɹʇ ʎǝɥʇ 'ǝʇsɐʍ ˥ɐɯᴉuɐ ƃuᴉʇᴉsᴉʌ
ɟo sʇᴉqɐɥ ɹᴉǝɥʇ ɟo ǝsnɐɔǝq ˙ʎ˥ɟǝsnoɥ uoɯɯoɔ
ǝɥʇ sᴉ p˥ɹoʍ ǝɥʇ uᴉ ˥ɐɯᴉuɐ snoɹǝƃuɐp ʇsoɯ ǝɥ┴