将除法问题分解为一系列更简单步骤的脚本。
项目描述
此脚本可以用作库来将除法分解为简单的步骤,或用作控制台脚本来可视化除法。
作为命令行脚本的示例使用
$ 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 迭代中获取。