[Python] pomoč pri nalogi

Zdravo!
Potrebujem malo pomoči pri naslednji nalogi:

Napišite program za upravljanje z bazo izdelkov (baza zaloge izdelkov).
Program naj:
• vpraša za ime datoteke, kjer je baza shranjena (torej pot (njeno mesto)
na disku) oziroma kamor naj shranjuje bazo. Če datoteka obstaja, naj
jo odpre in prebere bazo (slovar), drugače pa naj to ulovi z izjemo in
kreira novo bazo kot slovar.
• Baza (v obliki slovarja) naj bo narejena tako, da bo ime izdelka ključ,
vsak izdelek naj bo objekt tipa Izdelek z naslednjimi lastnostmi:
– polja: ime, numerična koda, cena, zaloga
– metoda: vrednost (kar je cena × zaloga)
• Nato naj se (do vpisa opcije za izhod) omogoči:
1. izpis baze
2. dodajanje novih izdelkov (če cena ni realno in količina ne celo
število, naj se to ulovi z izjemo in vnos ponovi) — po dodanem
izdelku se cel slovar zapiše v datoteko
3. brisanje izdelkov (v kolikor izdelek ne obstaja, naj se to ujame z
izjemo) — po izbrisanem izdelku se cel slovar zapiše v datoteko
4. spreminjanje količine za posamezen izdelek na zalogi — po spremembi
se cel slovar zapiše v datoteko
5. spreminjanje cene za posamezen izdelek — po spremembi se cel
slovar zapiše v datoteko
6. spreminjanje cene za posamezen izdelek
7. izračun vrednosti vseh izdelkov na zalogi
8. izračun števila vseh izdelkov na zalogi (število enot posameznega
izdelka je zapisano v polju zaloga)
9. izhod

Lepo prosim, da mi kdo vsaj razloži, kako se naj naloge lotim... Nimam pa nič proti, če je kdo loti ;)
Hvala*

Komentarji

  • erik98 Član
    uredil/-a 12. July, 2008
    eko, tuki je nekaj, je še vedno workin' in progress, drugači je vse v ponavljanju dokler ne uporabiš možnosti "5"

    #!/usr/bin/python
    import os
    import time
    import sys

    folder = raw_input('Mapa: ')
    os.chdir(folder)
    storage = raw_input('Datoteka: ')
    while(1):
    option = raw_input('Moznosti: 1-dodaj 2-uredi 3-izbrisi 4-izpisi vse 5-izhod: ')
    if(option == \"1\"):
    add = raw_input('Stvar (razdelilec je \\"/\", prvo je ID - ime, drugo je cena v evrih (pod en evro --> 1.546 itd euros) in tretje pa zaloga): ')
    f = open(storage, 'a')
    feed = add.replace('/', '||||')
    f.write(feed + '\n')
    f.close
    print \"Narejeno\"

    elif(option==\"2\"):
    print \"Se se dela\"

    elif(option==\"3\"):
    remove = raw_input('vnesi ime (ID), pazi na VeLiKe CrKe!!')
    f_obj = open(storage)
    to_write = [x for x in f_obj if not x.startswith('')]
    f_obj.close()
    f_obj = open(storage, 'w')
    f_obj.writelines(to_write)
    f_obj.close()


    elif(option==\"4\"):
    print \"izdelek||||cena||||zaloga\"
    for line in open(storage):
    print line

    elif(option==\"5\"):
    print \"Konec programa\"
    sys.exit()

    pravzaprav lahko edit in list all dam v eno funkcijo ki opre notepad ali pa GEdit, samo povej mi kateri OS uporabljaš - windowze(predvidevam) ali pa linux
    stvar dela, sem preveril za vse možne stvari, če je datoteka neobstoječa jo naredi, če pa ni mape pa javi error in zapre program

    ogromen EDIT:
    če je cena 1,5 € npr, ne zapiše tega, piše samo cela števila, npr 1€, 2€, ne pa 1,75€ :( (odpravljeno - uporabljajte 1[b].75[/b]),
    naslednji bug => če dodaš izdelek in takoj uporabiš funkcijo list all, izdelki ki si jih dodal v tem processu niso zapisani dokler ne restartaš programa,
    torej če imam jaz 4 izdelke in dodam petega, dokler ne ponovno zaženem programčka zadnjih/ega izdelka ki sem jih dodal nebo videti

    ugh zdj sm pa neki fajn zafrknu k mi vse pobriše naenkrat, anyone help
  • Joj clovek, kaj si to temo z naftalina potegnu...
Za komentiranje se prijavite ali pa se vpišite.