将除法问题分解为一系列更简单步骤的脚本。
项目描述
此脚本可以用作库来将除法分解为简单的步骤,或用作控制台脚本来可视化除法。
作为命令行脚本的示例使用
$ python3 -m longdivision 1/3
_1 / 3 = 0.3333
0 <- 0 * 3
-
_10
9 <- 3 * 3
--
_10
9 <- 3 * 3
--
_10
9 <- 3 * 3
--
_10
9 <- 3 * 3
--
1
$ python3 -m longdivision 6359/17
_6359 / 17 = 374.0588
51 <- 3 * 17
--
_125
119 <- 7 * 17
---
_69
68 <- 4 * 17
--
_10
0 <- 0 * 17
--
_100
85 <- 5 * 17
---
_150
136 <- 8 * 17
---
_140
136 <- 8 * 17
---
4
作为库的示例使用
>>> import longdivision >>> list(longdivision.divide_integer_part(5, 2)) [(5, 4, 2, 1)] >>> list(longdivision.divide_integer_part(1, 3)) [(1, 0, None, 1)] >>> list(longdivision.divide_fractional_part(1, 3)) [(10, 9, 3), (10, 9, 3), (10, 9, 3), (10, 9, 3)]
- divide_integer_part
遍历所有除法步骤,提供 remainder,quotient,result_digit,numerator_position。
- divide_fractional_part
遍历分数部分。每次迭代返回与 divide_integer_part 相同的结果,但跳过最后一个 numerator_position。此函数的余数参数必须从最后一个 divide_integer_part 迭代中获取。