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.