跳到内容
🛠️ToolsShed

Price Per Unit Comparison

按单位价格比较产品,购物时查找最佳价值。

产品 1
单价/g
0.007980
产品 2
单价/g
0.006490最佳价值
产品 3
单价/g
0.007633

摘要

产品名称价格数量单价
Brand B6.491 kg0.006490/g
Brand C2.29300 g0.007633/g
Brand A3.99500 g0.007980/g

关于此工具

在购物时,比较单位价格是做出明智购买决策的聪明方法。看似便宜的产品实际上可能比更贵的竞争产品的单位价格更高,使得更大的包装才是真正的好交易。这个工具通过精确计算你按盎司、升、公斤或任何其他计量单位支付多少,切实消除令人困惑的定价方式,让你一目了然地发现真正的价值。

使用这个计算器非常简单:选择你的计量单位,输入产品的大小或数量及其价格,然后立即比较多种产品,找出哪一个提供最好的价值。无论你是比较同一产品的不同包装规格,还是评估竞争品牌的替代品,该工具都清晰地显示每单位的成本,消除了猜测,揭示了哪次购买能让你花钱最值。

这对预算意识强的购物者、购买生活用品的家庭以及任何想让每一分钱都更有价值的人来说都非常有用。有了这个工具,你可以自信地进行大宗购买,确信你确实在交好价,或者快速判断一个更小的包装是否值得购买,尽管其初期成本更高。它把价格比较从一个心算的挑战变成了一个透明、即时的计算。

常见问题

代码实现

def price_per_unit(price: float, quantity: float, unit: str) -> float:
    """Calculate price per base unit (grams or ml)."""
    conversions = {
        'g': 1, 'kg': 1000, 'oz': 28.3495, 'lb': 453.592,
        'ml': 1, 'l': 1000, 'fl oz': 29.5735, 'pt': 473.176,
    }
    factor = conversions.get(unit.lower(), 1)
    base_qty = quantity * factor
    return price / base_qty if base_qty > 0 else float('inf')

products = [
    {"name": "Brand A", "price": 2.99, "quantity": 500, "unit": "g"},
    {"name": "Brand B", "price": 4.49, "quantity": 1,   "unit": "kg"},
    {"name": "Brand C", "price": 1.79, "quantity": 12,  "unit": "oz"},
]

results = [(p["name"], price_per_unit(p["price"], p["quantity"], p["unit"])) for p in products]
results.sort(key=lambda x: x[1])

print("Price per gram (sorted cheapest first):")
for name, ppu in results:
    print(f"  {name}: ${ppu*100:.4f} per 100g")

best = results[0]
print(f"\nBest value: {best[0]}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.