[英]calculating sale price based on dependent fees in python
我想弄清楚销售价格是多少,对于利润为 25% 的项目。 但是,有 2 个变量取决于销售价格来计算该特定费用的价格,如下例所示:
cost_price = 8.50 * 1.2
fee_1 = sale_price * 0.2
fee_2 = (sale_price * 0.066) + 0.60
fee_3 = 2.90
fee_4 = 0.20
cost = fee_1 + fee_2 + cost_price + fee_3 + fee_4
sale_price = cost / (1-0.25)
print(sale_price)
我收到以下错误:
NameError Traceback(最近一次调用最后一次)
ipython-input-5-2562b4009d70 in module() 1 cost_price = 8.50 * 1.2 2 ----> 3 fee_1 = sale_price * 0.2 4 fee_2 = (sale_price * 0.034) + 0.20 5 fee_3 = 2.90
NameError: 名称 'sale_price' 未定义
我仍然是 Python 编程的新手,所以任何帮助将不胜感激,或者我可能会去哪里,以便找到解决方案的一般方向。 将继续努力直到解决; 如果我设法解决了问题,我会回来报告。
严格来说,您无法根据sale_price
计算应用于产品/服务的sale_price
,因为sale_price
已经包含这些费用。 您将在相同费用的基础上计算费用,几乎翻了一番。
您的所有费用都必须根据cost_price
计算,否则您应该任意定义要在其上添加的费用值。 这就是代码的外观(其他人已经回答过):
cost_price = 8.50 * 1.2
fee_1 = cost_price * 0.2
fee_2 = (cost_price * 0.066) + 0.60
fee_3 = 2.90
fee_4 = 0.20
cost = fee_1 + fee_2 + cost_price + fee_3 + fee_4
sale_price = cost / (1-0.25)
print(sale_price)
更新:
在获得新信息后,这是我的看法: fee_1
和fee_2
不能基于sale_price
,否则你必须调用sale_price
别的东西。 但是除了命名之外,如果您真的希望它们来自所谓的sale_price
,那么您可以这样做:
cost_price = 8.50 * 1.2
fee_3 = 2.90
fee_4 = 0.20
cost = cost_price + fee_3 + fee_4
sale_price = cost / (1-0.25) # line 7 -- btw, why not use 0.75 instead of 1 - 0.25?
# now that sale_price exists, we can generate the fees based on it
fee_1 = sale_price * 0.2
fee_2 = (sale_price * 0.066) + 0.60
sale_price += fee_1 + fee_2
print(sale_price)
但是,我强烈建议不要使用这种逻辑,因为它不直观并且可能非常混乱。 我相信您至少应该重命名您的变量并在第 7 行调用类似partial_sale_price
sale_price
。
您尚未在任何地方声明变量sale_price
。 所以编译器不知道下一步要做什么。
您的意思是使用cost_price
吗?
感谢@Luca 为我指明正确方向的支持,我得出了最终解决方案:
cost_price = 8.50 * 1.2
fee_3 = 2.90
fee_4 = 0.18
cost = cost_price + fee_3 + fee_4
sale_price = cost
fee_1 = sale_price * 0.2
fee_2 = (sale_price * 0.066) + 0.60
final_cost = fee_1 + fee_2 + cost
final_sale_price = final_cost / (1-0.081)
profit = final_sale_price - final_cost
print(final_sale_price, profit, purchase_price, final_cost)
输出:
19.155643564356435, 1.7431635643564363, 10.2, 17.41248
我希望这对我以外的人有用=)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.