Pomoc oko Python Programa

Pomoc oko Python Programa

offline
  • Boskovic
  • IT-Programmer
  • Pridružio: 26 Feb 2009
  • Poruke: 5
  • Gde živiš: Zasad u Svedskoj

Zdravo narode
Zamolio bi vas za pomoc, devojka moja je dobila zadatak na faksu u Svedskoj da naprave jedan program u Python. Pa me je ona zamolila da joj pomognem problem je u tome sto ja ne znam Python jer sam u srednjoj ucio za IT Mrezni Tehnicar. Bio bi vam zahvalan ako bi ste mi mogli pomoci. Kako da zapocnem i da nastavim kodiranje to postavicu vam kako je pitanje, izvinjavam se sto ce biti mozda koji problem o prevodu jer prevodim sa Svedskog na nasem. Uzeo sam direktno preko google translate da prevedem pa se nadam da ce te razumeti. Zahvalan sam vam unapred Smile Ziveli

Osnova za ovaj zadatak je hipotetičko prodavnica elektronike , sa značajnim prodaje daju - preko velikog prodavnici . Evo kako to opisuje IT menadžer u prodavnicu potrebama sliku :
Treba jednostavan program da pratite proizvoda u prodavnici . Svi proizvodi imaju neke karakteristike koje treba rešiti: naziv , proizvođač , cena ( bez PDV) ili broj proizvoda ( bilo koji tekst string kojiodređuje proizvođač ) .
Pored toga , mi ćemo podeliti u dve grupe proizvoda , hardvera i softvera . Jer teško je bitiproizvod kritična masaimovina - akotežina preko 25 kg ,cena za kupca 200 dolara više ( sa PDV-om ) . Za softvera , moramo znati šta to se tiče srednje ( na primer , DVD , fleš disk , Dovnload kupon ) .
Osnovne funkcije koje su potrebne programu su :
• Sposobnost da dodate proizvod . Korisnik može da izabere da li jesoftver ili hardver proizvoda , a zatim popunite sva svojstva .
• Sposobnost da vidite listu svih proizvoda . Ovde želimo samonajvažnije informacije štampa - za nas je to ime , broj proizvoda iukupna cena ( sa PDV-om ) .
• Sposobnost da izaberete određeni proizvod i dobiti detaljan ispis svih osobina .

Naša prodavnica računari su veoma jednostavna , tako daprogram mora da bude u potpunosti kontrolisati sa ključnom ploči . Prioritet , međutim , jeste da su transkripti bude lak za čitanje , tako da prednapregnutih prodavnica zaposleni ne moraju da potrošite mnogo vremena da shvate program .



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12544
  • Gde živiš: Južni pol

Zadatak je sjajan za vežbu, ali postoji mali problem. Praksa ovog foruma nije rešavanje, već pomoć pri rešavanju zadataka. Kad se vidi da je uložen neki trud u iznalaženje rešenja ljudi obično pomognu.

Dakle nema gotovih rešenja. Smile

A i da ima, nisi dao dovoljno informacija (podaci se mogu čitati na nekoliko načina iz nekoliko izvora).



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 23 Sep 2013 12:44

Za takav jedan program će ti trebati neka grafička biblioteka za Python, jer je native Python interpreterski jezik i obično se izvršava u konzoli. Python nije namenjen takvim programima, za to bih ja lično, pre koristio neki jezik koji se dobro snalazi sa bazama (VB naprimer).

Kao što je rekao bocke, nema šanse da ti ovde neko napiše ceo kod za to jer je to već napredniji nivo znanja, a ovde koliko znam nema tako naprednih Python programera - dakle knjigu u šake! Smile

Dopuna: 23 Sep 2013 12:51

Ako je u pitanju konzolna aplikacija onda možeš da napraviš neki mali meni, ovako nešto naprimer:

  1. ########## MENI ##########
  2.  [1] Lista proizvoda     
  3.  [2] Dodaj proizvod       
  4.  [3] Informacije o       
  5.      proizvodu           
  6. ##########################


Ispod menija napomeneš da korisnik izabere jednu od opcija. Simuliraj pravu Python konzolu pa napravi nešto ovako:

  1. Ukucajte željenu opciju:
  2. >>>


Te promene kasnije treba sačuvati negde, dobro bi bilo da se čuvaju u nekom tekstualnom fajlu na opštoj putanju (C:\) pa da program iščitava liniju po liniju i da je prikaže korisniku kao listu.

Prelistaj malo dokumentaciju na zvaničnom sajtu oko filestream, ima sigurno nešto o tome kasnije.

Arrow [Link mogu videti samo ulogovani korisnici]

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12544
  • Gde živiš: Južni pol

E.L.I.T.E. ::Za takav jedan program će ti trebati neka grafička biblioteka za Python,jer je native Python interpreterski jezik i obično se izvršava u konzoli.

Kakve to ima veze? Smile Da se traži GUI, a ne traži se, to bi važilo za svaki programski jezik. Postoje RAD okruženja koja mogu da generišu i Python kod.

E.L.I.T.E. ::Python nije namenjen takvim programima, za to bih ja lično, pre koristio neki jezik koji se dobro snalazi sa bazama (VB naprimer).

E opet si ga lupio. Smile Python ima odličnu podršku za baze podataka i nije ograničen samo na Microsoft rešenja kao Visual Basic. Baci pogled ovde: https://wiki.python.org/moin/DatabaseInterfaces.

Ono, malo proveri pre pisanja. Wink

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 23 Sep 2013 17:57

Ima odličnu podršku ali se više koristi kao jezik za pisanje aplikacija za crtanje. Ne mora za taj program da koristi baze podataka, samo sam naveo primer.

BTW, nisam trenutno u mogućnosti da pregledavam šaroliku dokumentaciju zbog problema sa računarem.

Dopuna: 23 Sep 2013 17:59

bocke ::Da se traži GUI, a ne traži se, to bi važilo za svaki programski jezik.

Da, ali ne mogu baš svi programski jezici da se koriste za programiranje grafičkih aplikacija.

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12544
  • Gde živiš: Južni pol

E.L.I.T.E. ::bocke ::Da se traži GUI, a ne traži se, to bi važilo za svaki programski jezik.

Da, ali ne mogu baš svi programski jezici da se koriste za programiranje grafičkih aplikacija.


Sad idemo malo u off, ali sve je to ok dok nam drugari modovi ne lupe packu. Smile

A koji to ne mogu? Ne postoji prepreka da se i jedan popularni jezik koristi za GUI programiranje. Wink

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

OK, ovo je otišlo malo dalje nego što sam očekivao Smile Tačno je da većina današnjih popularnih jezika imaju neko RAD okruženje. Smišljanjem RAD okruženja za neke jezike oni bi izgubili svoj smisao, kao što je neko okruženje za razvoj Asembler grafičkih aplikacija npr.

RAD ima svojih prednosti i mana, dobro je to što je brz i lakše je rasporediti elemente, a mana je to što neki postanu lenji jer su im sve kontrole pred nosem i tako ne mogu naučiti da pišu kodove za grafičke elemente ručno Smile

BTW, ako ćemo dalje predlažem da se ovaj razgovor izdvoji u posebnu temu.

offline
  • Boskovic
  • IT-Programmer
  • Pridružio: 26 Feb 2009
  • Poruke: 5
  • Gde živiš: Zasad u Svedskoj

E naroda izvinjavam se nije mi radio net Smile Hvala vam na pomoci koliko toliko i u napred vam se zahvaljujem za svu pomoc Smile. Neki Svedi su mi malo pomogli. Pa me zanima sta vi mislite i kako dalje da nastavim Smile? Pozdrav i ziveli Ziveli

class Article(object):
def __init__(self, name, manufacturer, price, id, manufacturer_text):
self.name = name
self.manufacturer = manufacturer
self.price = price
self.id = id
self.manufacturer_text = manufacturer_text

def printitem(self, **kwargs):
print '-'*20
print self.name, " :: ", self.id
print "Price:",self.price
print self.manufacturer
print self.manufacturer_text

for k,v in kwargs.iteritems():
print k, ":", v

print '-'*20

class SoftwareArticle(Article):
def __init__(self, name, manufacturer, price, id, manufacturer_text, medium):
super(SoftwareArticle, self).__init__(name, manufacturer, price, id, manufacturer_text)
self.medium = medium

def printitem(self):
super(SoftwareArticle, self).printitem(medium=self.medium)

class HardwareArticle(Article):
def __init__(self, name, manufacturer, price, id, manufacturer_text, weight):
super(HardwareArticle, self).__init__(name, manufacturer, price, id, manufacturer_text)
self.weight = weight

def printitem(self):
add_cost = 200 if self.weight > 25 else 0

super(HardwareArticle, self).printitem(weight=self.weight, additional_cost=add_cost, total_price=self.price+add_cost )


class Store(object):
def __init__(self):
self.articles = []

def addArticle(self,article):
self.articles.append(article)

def printArticles(self):
for a in self.articles:
a.printitem()

if __name__ == "__main__":
s = Store()
for a in range(4):
art = Article("Name %s"%a,"Manu %d"%a,a,a,"Extra Text: %s"%a)
s.addArticle(art)

for a in range(6):
art = HardwareArticle("Name %s"%a,"Manu %d"%a,a,a,"Extra Text: %s"%a,a*10)
s.addArticle(art)

for a in range(3):
art = SoftwareArticle("Name %s"%a,"Manu %d"%a,a,a,"Extra Text: %s"%a,"usb" if a%2==0 else "disc")
s.addArticle(art)

s.printArticles()

Ko je trenutno na forumu
 

Ukupno su 985 korisnika na forumu :: 73 registrovanih, 5 sakrivenih i 907 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Abebe Bikila, acatomic, ALFASPORTIVO, bobomicek, Bojan5150, bojan_t, bojcistv, bokisha253, branko87, brufen, Bubimir, C-Gun, darkangel, darkkran, DavidA, Dioniss, Dolinc, dragoljub11987, DragoslavS, dukajov, Electron, Georgius, Gitzherai, Heisenberg99, Insan, ivran064, janezek67, jodzula, kojotuzamku, Konda, lesa3, Marko Marković, Miki281, Milos ZA, misaru, neko_drugi, nenad81, neutrino, Niksicanin, opt1, ozzy, pein, Pekman, pisac12, PlayerOne, Prašinar, precan, Prečanin30, PrincipL, raster12, reakcija1989, robertino, S2M, SamostalniReferent, sarma, Sass Drake, sekretar, shajone, Shinobi, Steeeefan, stegonosa, strelac07, strn, synergia, Troja, Tumansky, Vl veliki, vladetije, Voice1, vukan0799, x9, zlaya011, Žoržo