Nesmělý pokus o portování známé Erbenovy básně Polednice do programovacího jazyka Python. Někomu se bude lépe číst barevná verze na penguinnovi.
#!/usr/bin/env python # Porting of Czech poetry to Python # Module: [midday_witch.py] (Polednice) # Original module author: K. J. Erben # Author of ported module: Martin Hassman # # 'U lavice dítě stálo, # z plna hrdla křičelo.' room = [bank, child, table, mother] child.cry() try: child.stop_cry() except IgnoreMotherError: mother.echo("Bodejž bys jen trochu málo ty cikáně mlčelo!") # 'Poledne v tom okamžení, táta přijde z roboty...' from time import * if localtime(time())[3:5] == (12, 0): # noon room.append(father) # but this does not happen yet ;-) # 'Mlč! Hle husar, kočárek - # hrej si! - tu máš kohouta!' room[2:2] = [hussar, buggy, cock] # look at the actual situation: [bank, child, hussar, buggy, cock, table, mother] # 'Než kohout, vůz i husárek # bouch, bác! letí do kouta.' fly = room[2:5] del room[2:5] room.append(fly) del fly # [bank, child, table, mother, [hussar, buggy, cock]] child.cry() # 'Pojď si proň ty Polednice...' mother.echo("Midday Witch, where are you? Come in for my bad son!") room.append(midday_witch) # [bank, child, table, mother, [hussar, buggy, cock], midday_witch] # simple description of the new object # 'Malá, hnědá, hnáty křivé # pod plachetkou osoba' for k in midday_witch.keys: print k, "=", midday_witch[k] # this prints: # height = small # color = brown # hands = bowed # 'Dej sem dítě!' midday_witch.echo("Give me the child!") # simple objects relocation: mother runs to the child # and sit with him on the bank escape = [room[0], room[3], room[1]] del room[3] del room[0:2] room[0:0] = [escape] del escape del child # mother trying to save his child deletes global reference to it, # so the last reference to the child is in safe place - room[0], # but this induce a critical problem later # [ [bank, mother, child], table, [hussar, buggy, cock], midday_witch] # 'Polednice blíž se plíží, # blíž - a již je v zápětí.' while room.index(midday_witch) > 1: witch_position = room.index(midday_witch) step = room[witch_position] del room[witch_position] room[witch_position - 1 : witch_position - 1] = [step] del step sleep(30) # midday_witch is moving a little bit slowly # [ [bank, mother, child], midday_witch, table, [hussar, buggy, cock]] # 'Již vztahuje po něm ruku' try: midday_witch["children"].append(room[0][2]) # this raises an exception del room[0][2] except StrongMotherError: # 'Matka tisknouc ramena' # 'klesá smyslů znavena' fall = room[0][1:] del room[0][1:] room[1:1] = fall[0] # <-- here is a bad mother mistake del fall # reference to the child lost, child died # Sorry, but here is a piece of 'closed source' code :-(, # we do not know exactly what happened until: # 'Táta vchází do dveří.' room.append(father) # 'Ve mdlobách tu matka leží' # look at the actual situation: [bank, mother, table, [hussar, buggy, cock], father] try: room.index(child) # father try to find his child # but this gives only Exception except ChildNotHereError: import gc # child is not here, father searches the garbage collection try: gc.garbage.index(child) except VeryBadError: # no child is not here :-( father["sad"] = 1 print "That's all folks"