跳转到主要内容

将一系列按时间顺序排列的余额调整事件转换成特定余额所持有期间的时序。

项目描述

例如,这个事件序列…

  • A: $10

  • B: $10

  • C: ($18)

  • D: ($2)

…转换成这个时序

A             B             C             D
|             |             |             |
|_____________|_____________|             |
|                           |             |
|           $10             |             |
|___________________________|             |
              |             |             |
              |     $8      |             |
              |_____________|_____________|
              |                           |
              |            $2             |
              |___________________________|

这使您可以确定每个余额减少事件,余额是从哪些事件中增加的。在这个例子中,我们可以看到

  • 事件C中的18美元减少来自事件A的10美元和事件B的8美元。

  • 事件D中的2美元减少完全来自事件B。

此示例的代码

from refund_calculation import *

history_from_event_sequence([
    Event(time='A', delta='10'),
    Event(time='B', delta='10'),
    Event(time='C', delta='-18'),
    Event(time='D', delta='-2'),
])

# Result:
History(
    closed=(
        Closed(amount=Decimal('10'), start='A', end='C'),
        Closed(amount=Decimal('8'),  start='B', end='C'),
        Closed(amount=Decimal('2'),  start='B', end='D'),
    ),
    open=(),
    debt=Decimal('0'),
)

项目详情


下载文件

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

源分布

refund_calculation-0.1.tar.gz (3.7 kB 查看哈希)

上传时间

支持者