Waehrend ich mir nun nachts mein Textadventure programmiere, um es dann bis zu meinem Referat hoffentlich auch in OOP-Version als (falls die Zeit reicht) Vergleich von prozeduralem und objektorientiertem Programmieren zu bringen, (ja, dieser Satz hoert nicht allzu schnell auf) ist mir ein wahrhaft wunderbarer, geekiger und Python involvierender Witz eingefallen, obwohl die Bewegung des Spielers damit gar nichts zu tun hat: (Und ja, Mark Twain, du darfst in deinem Grabe fluchen, dass das Deutsche unendlich lange Saetze moeglich macht.)
So … wie waere es, wenn man sich selbst als self auf einem T-Shirt bezeichnet. Dann enthaelt die Liste foo = self.name.split(' ') , wenn man die einzelnen Buchstaben jeweils mit einem Leerzeichen trennt, als letzten Index (d.h. foo[-1]) ‘z’. Diesen vertauschen wir gekonnt mit einem x, indem wir foo[-1] = 'x' eingeben. Um das ‘i’ wegzubekommen nutzen wir foo.pop(-2) und haben auf den letzten 3 Indexen schon mal ‘S e x’. Da ‘M a r c o S e x’ nicht allzu viel Sinn macht, aendern wir das ab: ‘c’ und ‘o’ schmeißen wir mit foo.pop(4); foo.pop(3) raus. ‘r’ aendern wir in ‘g’ um, indem wir foo[2] = 'g' eingeben. Dann haetten wir ja schon ‘M a g S e x’. Da das der akribisch auf Details achtende Deutsche nicht stehen lassen kann, verbindet er das folgendermaßen: bar = "%s%s%s %s%s%s" % (foo[0], foo[1], foo[2], foo[3], foo[4], foo[5])
Ausgeben tun wir das per print bar.
Somit haetten wir einen netten String mit ‘Mag Sex’ und zugleich noch ein bisschen mit Python rumgespielt und somit ein bisschen mit Strings und Listen geuebt. Tolle Kombination aus Situationshumor und Lernen, oder?
Wenn ich das in Lisp hinbekomme, so lasse ich das auf ein T-Shirt drucken und werde ueber die verwirrten Gesichter lachen, denn es ist sehr unwahrscheinlich, dass ich auf der Stelle einem Lisphacker begegne. Und wenn doch, so wird er mich sicherlich ansprechen und sich als Geek outen. :)
So long, sagte der selbstsichere Pythonist, der mehr Kaffee benoetigt. (Ich haette den String auch mit ‘ner eigenen Funktion auftrennen koennten und haette somit keine umstaendliche Leerzeichensetzung, aber da haette ich nicht so viele Listenfunktionen abdecken koennen.)