41、数据验证。首先,定义一个简单的验证规则,例如“这些值必须是 3 或 5 的倍数”。这意味着它们必须能转换为整数值,并且该整数对 3 取模为 0 或者对 5 取模为 0。其次,编写一个验证函数,该函数返回一个 Right 或 Left 对象。将验证函数应用于一个值序列,并保存得到的 Either 对象序列。
说明了数据验证的步骤:
- 定义验证规则,如值必须是 3 或 5 的倍数,即能转换为整数且该整数对 3 取模为 0 或者对 5 取模为 0;
- 编写返回
Right
或Left
对象的验证函数; - 将验证函数应用于值序列并保存得到的
Either
对象序列。
同时提到可使用 Either
对象的 .either()
方法处理 Left
或 Right
实例。
42、多个模型。每个模型根据样本中的观测值 $s_o$ 计算期望值 $e$:$e = 0.7412 × s_o$;$e = 0.9 × s_o - 90$;$e = 0.7724 × s_o^{1.0134}$。首先,将这些模型实现为柯里化函数。然后,使用通用的 PyMonad 组合或管道创建一个比较函数,用其中一个模型计算预测值,并将预测值与观测值进行比较。创建柯里化模型函数,以及用于比较模型预测结果与实际结果的组合或管道。
要实现这些需求,可按以下步骤操作:
- 实现柯里化模型函数:
- 对于 $e = 0.7412 × s_o$,可以使用 Python 的pymonad.tools.curry
装饰器创建柯里化函数。
- 对于 $e = 0.9 × s_o - 90$ 同理。
- 对于 $e = 0.7724 × s_o^{1.0134}$ 也使用curry
装饰器。