Video posnetki starih predavanj o tabelah (linki in opisi vsebin)

Tukaj so zbrani opisi tega, kaj je prikazano, razloženo (in kaj ni razumljivo ali se vam zdi, da je napačno) na videoposnetkih. 

Posnetek_4

Opis posnetka http://naslokar.fmf.uni-lj.si/FMF/predavanja-2014-15/P1/14-11-28prog1_1ura.mp4

 

Vsebina: Profesor pokaže kako dostopamo do elementov v danih seznamih in kasneje na njih izvajamo operacije. Ena izmed možnosti je z zanko while, s katero potujemo po vseh indeksih seznama (Pri tem je pomembno vedeti, da se indeksi v tabelah pričnejo s številom 0 in ne 1. Poleg tega funkcija len(tabela) vrne dolžino tabele oz. število elementov v njej, indeks zadnjega elementa pa je (len(tabela) - 1)). Pri tem se lahko izognemo tudi uporabi predpostavke začetnega indeksa na 0, z uporabo funkcije range.

Drugi način je s pomočjo zanke for, kjer ne rabimo uporabljati indeksov, saj zanka sama potuje po vseh elementih tabele.

Primer funkcije, ki izpiše vse elemente dane tabele:

>>> def izpisTabele(tabela):

                for i in range(len(tabela)):

                        print(i)

>>> tabela = [1,2,3]

>>> izpisTabele(tabela)

>>> 1

        2

        3



Dobre stvari:

Profesor opozori na napako, kako spremenimo elemente tabele (na primeru):

>>> mojS = [2, 5, 4, -1]

>>> for e in mojS:

            e += 1

            print(e)

>>> 3

       6

       5

       0

>>> mojS

>>> [2, 5, 4, -1]

Pomeni python zna izračunati želene vrednosti, vendar nismo ukazali, da spremeni tudi seznam. Popravljeno:

>>> for i in range(len(mojS)):

              mojS[i] += 1

>>> mojS

>>> [3, 6, 5, 0]

Profesor ponovi tudi lasnosti operatorja range:

- range(6, 30, 2) … šteje od 6 do 29 s korakom 2 - soda števila od 6 do 29 (zg meja: 30 ni zajeta!)

>>> print(range(5)) … ne vrne nič

>>> for i in range(2):

               print(i)

>>> 0

        1


 

Slabo razumljive stvari: 

Čeprav funkcija range() ne vrne seznama, lahko do elementov zaporedja dostopamo na enak način kot do elementov seznama. Na primer:

a = range(1,10)

print(a[4]) # izpiše 5

 

Napake: Opaznih napak pri predavanju ni bilo.

 

 

Opombe: Za alternativo print range(10, 21, 2) zmanjka časa.