Liste i funkcije


Funkcija je deo koda u programu. Funkcija obavlja određeni zadatak. Prednosti korišćenja funkcije su sledeće: smanjuje dupliranje koda, razlaže složenije probleme u jednostavnije, kod je jasniji, omogućava ponovno korišćenje koda. Zbog toga je jako korisno koristiti liste u funkcijama. U funkciji, lista može da se prosledi kao argument te funkcije, tj. navodimo je unutar zagrada pri definisanju funkcije. Funkcija kao argument može da sadrži jednu ili više listi.

Možemo da pristupimo listi i da ispišemo sve njene elemente:


def lista_funkcija(x):
    return x
n = [3, 5, 7]
print (lista_funkcija (n))
		
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:

>>  [3, 5, 7]

Svaki element liste možemo modifikovati po želji:


def modifikacija(x):
#modifikujemo drugi element liste, tako što ga množimo sa 3
    x[1]=x[1]*3 
    return x
n = [3, 5, 7]
print (modifikacija (n))
		
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:

>>  [3, 15, 7]

Ako želimo da saberemo sve elemente liste neophodno je da prođemo kroz listu i da na sumu dodajemo jedan po jedan element:


lista_brojeva = [1, 3, 7, 12, 16, 23, 123]
def zbir_brojeva(lista_brojeva):
#najpre sumu postavimo na nulu
     suma=0 
#pomoću for petlje prolazimo kroz listu 
     for broj in lista_brojeva: 
#na sumu dodajemo jedan po jedan element liste
        suma+=broj
     print (suma)
zbir_brojeva(lista_brojeva)
		
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo zbir svih brojeva:

>>  185

U ovom primeru takođe sabiramo sve elemente liste. Razlika u odnosu na prethodni primer je u tome što listu prosleđujemo kao argument funkcije:


def zbir_brojeva(lista_brojeva):
    suma=0
    for broj in lista_brojeva:
        suma+=broj
    print (suma)
zbir_brojeva([1, 2, 3, 4, 5])

		
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:

>>  15

Osim sabiranja, sa elementima liste možemo izvršiti i neke druge operacije, poput množenja, oduzimanja i deljenja:


def pomnozi_brojeve(lista_brojeva):
    proizvod=1
    for broj in lista_brojeva:
        proizvod*=broj
    print (proizvod)
pomnozi_brojeve([1, 2, 3, 4, 5])
		
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:

>>  120