SweClockers drop!

Skulle behöva hjälp med programmeringsuppgift i Python

Permalänk
Medlem

Skulle behöva hjälp med programmeringsuppgift i Python

Jag har läst väldigt lite om Python programmering så ja undrade om ni kunde hjälpa mig med start av det här programmet och hur jag fortsätter frammåt, skulle vara hjärtligt tacksam.
MVH Boskovic

Grunden till uppgiften är en hypotetisk elektronikaffär, med betydande försäljning ge- nom en stor butik. Såhär beskriver butikens IT-ansvarig behovsbilden:
Vi behöver ett enkelt program för att hålla reda på produkter i butiken. Alla produk- ter har några egenskaper som måste hanteras: namn, tillverkare, pris (exkl moms) och produktnummer (någon textsträng som tillverkaren bestämmer).
Dessutom delar vi upp produkterna i två olika typer, mjukvara och hårdvara. För hård- vara är produktens vikt en kritisk egenskap - om vikten överstiger 25 kg blir priset mot kund 200 kronor dyrare (inkl moms). För mjukvara behöver vi veta vilket medium det rör sig om (t ex DVD, flashminne, nedladdningkupong).
De grundläggande funktionerna som behövs av programmet är:
• Möjlighet att lägga till produkt. Användaren får välja om det är en mjukvaru- eller hårdvaruprodukt, och därefter fylla i alla egenskaper.
• Möjlighet att se en lista över alla produkter. Här vill vi endast att den viktigaste information skrivs ut - för oss är det namn, produktnummer och totalpris (inkl moms).
• Möjlighet att välja en specifik produkt och få en detaljerad utskrift av alla egen- skaper.

Våra butiksdatorer är väldigt enkla, så programmet måste kunna styras helt med tan- gentbordet. En prioritet är dock att utskrifterna ska vara lätta att läsa, så att stressad butikspersonal slipper spendera mycket tid på att förstå programmet.

Permalänk
Medlem

Läs lite mer! Eller fråga mer specifika frågor. Antar att detta är någon typ av skoluppgift, och det är meningen att du ska göra dina skoluppgifter själv.

Permalänk
Medlem

Var någonstans är tänkt att produkterna ska sparas? Databas, textfil...? Det är viktigt att detta utformas på ett bra sätt, börja med det.

Annat än att göra frågor till databasen enklare för en användare känns denna uppgift mer som en "lär dig databaser uppgift" än en pythonuppgift.

Visa signatur

9950X3D - 3090 - 2x48GB 6000@30

Permalänk
Medlem

Tror dom enbart kommer göra in-memory hantering utifrån hur uppgiftstexten lyder...

Något i stil med (bli inte sur nu för att det hela inte följer PEP8 med formatering, blanka rader osv....)

Bara en konceptuell stomme som man kan utgå från, och implementerad lite "lazy"

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()

Visa signatur

weeeee

Permalänk
Medlem

Tack ska ni ha för hjälpen. Och förlåt har inte kunnat svara tidigare mitt internet funkade inte. Jag har läst på lite till Mounte tack ska du ha för hjälpen en gång till. Celoz tack ja förstår :).