我想根据通过的单位计算单位成本。例如,
0-499 = unit cost of 0.049
500-999 = unit cost of 0.050
999+ = unit cost of 0.060
这是我到目前为止所尝试的:
unitCost = 0.049
if self.units <= 499:
unitCost = 0.049
elif self.units >= 500:
unitCost = 0.050
elif self.units >= 999:
unitCost = 0.060
else:
unitCost = 0.049
首先,如果我有1000个单位,它匹配错误的单位成本,这不起作用。其次,我不确定这是好方法。 Python有一个函数吗?
即
if x between(0-499):
答案 0 :(得分:4)
elif
为False时,才会评估 if
;你的第三个条件永远无法达到。
反转它:
if self.units >= 999:
unitCost = 0.060
elif self.units >= 500:
unitCost = 0.050
else:
unitCost = 0.049
答案 1 :(得分:4)
问题是你的if语句。您需要执行units >= 500 and units <= 999
之类的操作,它基本上会检查值是否介于500和999之间。
unitCost = 0.049
if units <= 499:
unitCost = 0.049
elif units >= 500 and units <= 999:
unitCost = 0.050
elif units > 999:
unitCost = 0.060
print unitCost
答案 2 :(得分:1)
这可以通过将self.units
强制转换为int
(如果它具有float
值并执行以下代码段来实现。
if int(self.units) in range(0, 500):
unitCost = 0.049
elif int(self.units) in range(500, 1000):
unitCost = 0.050
else:
unitCost = 0.060