将任意数值对转化为最简整数比的轻量级工具,支持Tkinter图形界面与命令行双模式运行。
- 双模式支持:自动检测环境,优先启动Tkinter GUI(自动置顶),CLI模式作为可靠后备
- 误差可视化:精确显示每个候选比例与原始数据比值的误差
- 智能推荐低位:部分情况下,优先推荐简洁的一位数比例(如 3:4、5:6)
- 极限处理:对“畸形”数值启用“极限模式”,直接输出
1:xxxx或者xxxx:1 - 零依赖:纯Python+Tkinter(可选)标准库实现,可无需额外安装
python 近似比例计算器.pypython 近似比例计算器.py --cli输入:1920 1080
输出:
近似比例1【16:9】
误差=0
近似比例2【105:59】
误差≈0.00188324
近似比例3【103:58】
误差≈0.00191571
近似比例4【89:50】
误差≈0.00222222
近似比例5【87:49】
误差≈0.00226757
...
输入:801 6000
输出:
一位数比例【1:8】
误差≈0.00850000
——————————
近似比例1【2:15】
误差≈0.00016667
近似比例2【7:52】
误差≈0.00111538
近似比例3【7:53】
误差≈0.00142453
近似比例4【5:37】
误差≈0.00163514
近似比例5【5:38】
输入:1145 141919810
输出:
特殊比例【1:123947】
误差<0.00000001
⚠警告:超出常规搜索范围。
因此,程序将较小值设为1,
据此计算最优的近似比例。
注意:可能不是最近似的值。
在脚本开头可自定义以下参数:
| 参数 | 说明 | 默认值 | 建议范围 |
|---|---|---|---|
MAX_DENOMINATOR |
搜索范围上限(分母最大值) | 64 | 10-10000 |
SINGLE_DIGIT_THRESHOLD |
一位数比例优先的误差阈值 | 0.01 | 按需修改,推荐保持默认 |
调整原则:
- 增大
MAX_DENOMINATOR可获得更低误差的比值数对,但计算时间增加,且输出的比值数对的位数可能会增加 - 增大
SINGLE_DIGIT_THRESHOLD更容易显示简洁比例
- 穷举搜索:在
[1, MAX_DENOMINATOR]范围内枚举所有互质分数 - 误差计算:
error = |num/den - a/b| - 结果排序:按误差从小到大返回前5组最简比例



