Learner looking for assistance
Steven D'Aprano
steve at pearwood.info
Tue Apr 15 04:29:27 EDT 2014
On Mon, 14 Apr 2014 00:43:41 -0700, Anthony Smith wrote:
> the calc_total does not return a estimated_total_weight
That's because you don't tell it to. Your calc_total method multiplies by
estimated_weight_hd which is not the same as estimated_total_weight.
>
> if add the estimated_total_weight the rest of the code works
> I am at a lose as to why ?????
What does "works" mean in this context? What is the code supposed to do,
and what does it do instead?
Because you have only given us a tiny snippet of code, we have no way of
running it. Please read this page here:
http://www.sscce.org/
and try to prepare a short, working (in the sense that it runs and
demonstrates the problem) example.
> def calc_total(self):
> amount = 0
> if self.estimated_weight_hd > 0:
> amount = self.number * self.estimated_weight_hd
> return amount
This only adds the weight to amount if it is positive. If it is negative,
nothing happens. Is that deliberate? Also, I see you have mixed spaces
and tabs. Please use one, or the other, but never use both. Mixing spaces
and tabs will give you no end of headaches.
> def save(self):
> self.estimated_total_weight = self.calc_total()
> super(SaleNote, self).save()
This appears to be indented *inside* the calc_total method, but after the
return statement, it is dead code and will never be executed. Or perhaps
not -- because you have mixed spaces and tabs, it is very difficult to
tell.
> def calc_total_price(self):
> amount_price = 0
> if self.sale_head > 0:
> amount_price = self.number * self.sale_head
> return amount_price
> else:
> if self.estimated_total_weight > 0:
> amount_price = self.estimated_total_weight *
> self.sale_kg
> return amount_price
Without knowing what your code is supposed to do, we cannot tell how it
is broken. What is self.sale_head? Under what circumstances is is
negative?
--
Steven
More information about the Python-list
mailing list