In PC-Active 308 schreef Jan Bouwknegt het artikel “Spelen met letters: Python helpt” en het geweldige fliptab-programma, waarvoor ik hem hartelijk wil danken.

1024px Python logo notext.svg

Ik heb het zowaar helemaal overgetypt, ik zal het gebruiken en heb tevens een paar suggesties om de tabel verder te verbeteren. Voor de 'b', 'n' en de 's' heb ik gewoon de 'q', 'u' en 's' gebruikt, de []{}() hou jij gelijk, maar volgens mij moet je die omwisselen:
][}{)(  
voor de Q heb ik nu \u004f\u0340, wat samen Ò oplevert (niet perfect).

Je project doet me denken aan een van mijn eerste programma's, dat deed slechts wat jouw 'backstr' doet. Maar de volgende dag bleek iemand op irc (chatprogramma) een achteruit-type-wedstrijd te organiseren. Daar heb ik toen een zonnebril mee gewonnen, dus zelfs de meest simpele programmaatjes kunnen toch nuttig zijn.

pythonAls tip heb ik nog het boek Writing Idiomatic Python, hét boek wat ik zelf had willen hebben toen ik begon met Python. Jouw programma's voldoen aan de drie belangrijkste voorwaarden voor een goed programma: 1. het doet iets leuks/nuttigs/interessants, 2. het werkt en 3. je hebt het verspreid. Daarna komen dingen als 'hoe kan dit mooier/makkelijker/duidelijker/ netter' etc. en daar helpt dit boek enorm bij.

Het boek heeft steeds heel korte hoofdstukjes waarin telkens één stukje voorbeeldcode verbeterd wordt. Zie bijvoorbeeld 2.4.2 waarbij de default voor get() van dictionaries wordt beschreven: "char = griektab.get(letter, letter)" maakt de volgende twee regels overbodig. En 2.8.1 beschrijft hoe het 'with' statement helpt, het maakt bijvoorbeeld het sluiten van files overbodig. Jouw 'fp.close()' in fliptab wordt nooit uitgevoerd, omdat het per abuis na de 'break' staat, dat zal met 'with' altijd goed gaan.

Hugo B.

.