Já bych použil takovéhle chování:
polozky=['1Položka','2Položka','3Položka','4Položka','5Položka','6Položka']
pocet_polozek=len(polozky) // cili tady 6, v puv zadani 10 a tak
aktualni_id_polozky=0
max_polozek=3
max_pul=max_polozek/2 // celociselne deleni, prostredni z vypisovanych mist
nějaká smyčka na čtení kláves a upravování akt.id okolo tohohle
// hledame interval <a..b) aby akt.id bylo v nem, idealne uprostred, ale interval nevypadnul z rozsahu
b=aktualni_id_polozky+max_pul
if b>=pocet_polozek then b=pocet_polozek-1
a=b-max_polozek
if a<0 then a=0
b=a+max polozek
if b>=pocet_polozek then b=pocet_polozek-1
for (i=a;i<b;i++)
if aktualni_id_polozky == i
print polozky[i], '<<<'
else
print polozky[i]
print
Takhle by to melo fungovat pro libovolny pocet polozek a delku sloupce, s tim ze pokud to pujde, tak je vybrana polozka uprostred zobrazeneho intervalu