Naša funkcija bo sprejela parameter n. Tabela bo tako dimenzije n x n.
Kot smo že prej omenili, bo potem naš seznam dimenzije (n+1) x (n+1).
Čisto na začetku preverimo, če je podan n, res tipa int(če je res celo število) in, če je n večje od 0. Če pogoja ne držita, sprožimo napako.
- assert type(n)==int, 'Parameter n mora biti celo število, saj predstavlja dimenzijo tabele.'
- assert n>0, 'Vrednost parametra n mora biti večja ali enaka 0!.'
Nato preverimo, ali je n enak 1. Če je, vrnemo 2.
- Vemo, da je število poti v 1x1 veliki tabeli/kvadratu enako 2.
Če je n različen od nič ustvarimo seznam s samimi ničlami:
Sedaj imamo seznam s samimi ničlami.
Zadnji stolpec napolnimo z enicami. To naredimo tako, da gremo z enojno for zanko čez seznam.
Vsakemu zadnjemu elementu i-te vrstice dodelimo vrednost 1.
Spremenimo samo še zadnjo vrstico. Do zadnje vrstice dostopamo s sez[n]:
Funkcija bo vračala rezultat, ki ga bomo dobili s pomočjo klica funkcije stPoti(a, 0, 0).
- Število poti iz zgornjega levega kota (točka (0,0)) do spodnjega desnega kota (točka (n-1, n-1)) podanega seznama a nam bo izračunala rekurzivna funkcija stPoti(sez,vr,st).