跳转到主要内容

简化组IOU结算。

项目描述

iouopt

iouopt 简化了组 IOU 结算。如果你使用过 Splitwise 或类似的应用程序,你应该熟悉这个概念。

使用方法

import iouopt import Journal

j = Journal[str]()

j.append(borrower="A", lender="B", amount=5)
j.append("A", "C", 15)
j.append("B", "A", 10)
j.append("B", "C", 5)
j.append("C", "A", 20)
j.append("C", "B", 15)

for borrower, lender, amount in j.simplify():
    print(f"#=> {borrower} pays {lender} {amount}")

#=> C pays A 10
#=> C pays B 5

注意: iouopt 要求所有金额都表示为 int。这是底层最小费用流算法的限制。如果你需要表示部分单位,例如 15.78,请将金额乘以一个合适的常数因子(例如,100),然后将其转换为 int。

安装

Python包索引(PyPI) 安装最新版本。

$ pip install iouopt

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。

源分发

iouopt-0.2.0.tar.gz (3.8 kB 查看哈希值)

上传时间:

构建分发

iouopt-0.2.0-py3-none-any.whl (4.9 kB 查看哈希值)

上传时间: Python 3

支持