Welk woord komt op het vraagteken?

JAM, KUL, LOK, MIJ
LIER, FOTO, ZUIL, TAXI
GROEI, VERGA, KRUIS
BOENEN, WELDRA, RUSTEN
DOFHEID, STEMPEL, HYDRAAT
VIBRATOR, KLUPPELS, ?

De reeksen kenmerken zich doordat op elke positie de letters telkens een vaste afstand vooruit springen in een cyclisch alfabet (waarbij na de letter Z terug de letter A komt). In de bovenste reeks zien we bijvoorbeeld dat de eerste letter telkens 1 positie vooruitspringt, de tweede letter 20 posities en de derde letter 25 posities.

Van VIBRATOR naar KLUPPELS springen de opeenvolgende letters respectievelijk 15, 3, 19, 24, 15, 11, 23 en 1 posities vooruit. Als we van KLUPPELS over hetzelfde aantal posities vooruit springen, dan vinden we het volgende woord in de laatste reeks: ZONNEPIT. We zouden van dat woord nog eens kunnen proberen om vooruit te springen over hetzelfde aantal posities, maar dan krijgen we het onbestaande woord ORGLTAFU.

Opgave

Een woord is een string (str) die bestaat uit één of meer hoofdletters. Gevraagd wordt:

Voorbeeld

In onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand woorden.txt1 zich in de huidige directory bevindt.

>>> afstand('U', 'W')
2
>>> afstand('Z', 'J')
10
>>> afstand('T', 'T')
0

>>> afstanden('JAM', 'KUL')
[1, 20, 25]
>>> afstanden('LIER', 'FOTO')
[20, 6, 15, 23]
>>> afstanden('GROEI', 'VERGA')
[15, 13, 3, 2, 18]
>>> afstanden('BOENEN', 'WELDRA')
[21, 16, 7, 16, 13, 13]
>>> afstanden('DOFHEID', 'STEMPEL')
[15, 5, 25, 5, 11, 22, 8]
>>> afstanden('VIBRATOR', 'KLUPPELS')
[15, 3, 19, 24, 15, 11, 23, 1]

>>> springen('JAM', [1, 20, 25])
'KUL'
>>> springen('LIER', (20, 6, 15, 23))
'FOTO'
>>> springen('GROEI', [15, 13, 3, 2, 18])
'VERGA'
>>> springen('BOENEN', (21, 16, 7, 16, 13, 13))
'WELDRA'
>>> springen('DOFHEID', [15, 5, 25, 5, 11, 22, 8])
'STEMPEL'
>>> springen('VIBRATOR', (15, 3, 19, 24, 15, 11, 23, 1))
'KLUPPELS'

>>> reeks('JAM', [1, 20, 25], 'woorden.txt2')
['JAM', 'KUL', 'LOK', 'MIJ']
>>> reeks('LIER', (20, 6, 15, 23), 'woorden.txt3')
['LIER', 'FOTO', 'ZUIL', 'TAXI']
>>> reeks('GROEI', [15, 13, 3, 2, 18], 'woorden.txt4')
['GROEI', 'VERGA', 'KRUIS']
>>> reeks('BOENEN', (21, 16, 7, 16, 13, 13), 'woorden.txt5')
['BOENEN', 'WELDRA', 'RUSTEN']
>>> reeks('DOFHEID', [15, 5, 25, 5, 11, 22, 8], 'woorden.txt6')
['DOFHEID', 'STEMPEL', 'HYDRAAT']
>>> reeks ('VIBRATOR', (15, 3, 19, 24, 15, 11, 23, 1), 'woorden.txt7')
['VIBRATOR', 'KLUPPELS', 'ZONNEPIT']