Python


Študijski primer: Seznam imen

Program začne s praznim seznamom imen. Na voljo nudi menu z več moľnostmi: V seznam lahko vnašamo nova imena,  seznam lahko zapišemo v datoteko z imenom "osebe". Seznam lahko z datoteke tudi preberemo. Trenutni seznam imen lahko tudi izpišemo na zaslon.
Rdeče pobarvane so definicije funkcij za branje, pisanje  in izpis seznama ter dodajanje imen v seznam. Zeleno pobarvani so klici teh funkcij:

def beriSeznam():
datoteka = open(
"osebe","r")
seznam = datoteka.readlines()
for i in range(len(seznam)):
seznam[i] = seznam[i][:-1]
return seznam

def izpisOseb( seznam ):
for ime in seznam:
print ime

def dodajIme(seznam):
print "Vnesi novo ime"
novoIme = raw_input()
seznam.append(novoIme)

def shraniSeznam( seznam):
datoteka = open(
"osebe","w")
for ime in seznam:
datoteka.write(ime)
datoteka.write(
'\n') # vsako ime v novi vrstici
#---------------------------------------------------------
seznamOseb = []
izbira = 0
while izbira != 5:
print "1) Beri datoteko"
print "2) Izpis imen"
print "3) Dodaj ime"
print "4) Shrani seznam"
print "5) Konec"
izbira = input()
if izbira == 1:
seznamOseb = beriSeznam()
elif izbira == 2:
izpisOseb( seznamOseb )
elif izbira == 3:
dodajIme(seznamOseb)
elif izbira == 4:
shraniSeznam( seznamOseb )
else

Izboljšava programa je lahko v tem, da uporabnik lahko pred pisanjem ali branjem datoteke pove njeno ime. Program bi bil tako bolj splošen, saj ne bi pisal oziroma bral vedno ene in iste datoteke. Za to izboljšavo bi morali spremeniti funkcijo za branje in funkcijo za pisanje (spremembe so pobarvane rdeče):

def beriSeznam():
print "Vpisi ime datoteke za branje:"
imeDatoteke = raw_input()

datoteka = open(imeDatoteke,"r")
seznam = datoteka.readlines()
for i in range(len(seznam)):
seznam[i] = seznam[i][:-1]
return seznam


def shraniSeznam( seznam):
print "Vpisi ime datoteke za pisanje:"
imeDatoteke = raw_input()

datoteka = open(imeDatoteke,"w")
for ime in seznam:
datoteka.write(ime)
datoteka.write(
'\n') # vsako ime v novi vrstici