Seems like that approach will work just fine, aside from a couple small
adjustments:
In your add_coconut method, you will want to be checking for an instance of
Coconut, instead of Inventory.
You could also increase the efficiency of your total_weight() method by
tracking the weight from inside of the add_coconut() call.
This way, all you have to do is return a value instead of looping the inventory
every time.
With the previous suggestion, it would then be best to make the coconuts list a
private attribute so that people wouldn't be modifying the
list directly and messing with your optimized tracking.
self.__coconuts = []
If they ask you later to track the coconuts by their type, you may find
yourself wanting to switch to a dictionary, where the key would be the product
type (Coconut)
and the value could be a list of those coconuts.
On Sep 22, 2013, at 1:41 PM, matthew park wrote:
> Hi there I am doing a assignment and the code should be simple as soon as I
> get
> what the question is meaning.
>
> The assignment is
> Create Inventory class that tracks different types of coconuts from around
> the world. The different types of coconuts must have these weight attribute
> values:
>
> Type
>
> Weigt
>
> South Asian
>
> 3
>
> Middle Eastern
>
> 2.5
>
> American
>
> 3.5
>
> The inventory class must have the following methods:
>
> add_coconut() accepts a coconut as an argument. Other types throw an
> AttributeError.
>
> total_weight() provides the total weight of coconuts.
>
>
>
>
> The code that I am thinking of now is below
>
>
>
> class Inventory(object):
> def __init__(self):
> self.coconuts = []
>
> def add_coconut(self, cocoType):
> if not isinstance(cocoType, Inventory):
>
>
> raise AttributeError("%s isn't type of Coconut can be
> added"(cocoType))
> self.coconuts.append(cocoType)
>
> def total_weights(self):
> totalWeight = 0.0
>
>
> for each in coconuts:
> totalWeight += each.weight
>
>
> class Coconut(object):
> weight = 0.0
>
> class SouthAsian(Coconut):
>
>
> weight = 3.0
>
> class MiddleEastern(Coconut):
> weight = 2.5
>
> class American(Coconut):
> weight = 3.5
>
>
>
>
>
> Thank you so much for your help!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.