You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现类似Google Sheets的带整数部分分数格式化?

解决Python中分数格式化为带整数部分的混合分数问题

Python标准库的Fraction确实没有直接输出带整数部分的混合分数(比如1 1/2)的现成方法,自己写个小函数就能搞定,逻辑很简单:

  • 拆分分数的整数部分和余数部分
  • 根据不同场景输出对应格式

实现代码

from fractions import Fraction

def format_mixed_fraction(frac):
    # 处理整数情况
    if frac.denominator == 1:
        return f"{frac.numerator}"
    # 拆分整数部分和余数分子
    whole_part = frac.numerator // frac.denominator
    remainder_num = frac.numerator % frac.denominator
    # 真分数(无整数部分)
    if whole_part == 0:
        return f"{remainder_num}/{frac.denominator}"
    # 混合分数
    return f"{whole_part} {remainder_num}/{frac.denominator}"

# 测试示例
a, b = 3, 2
target_frac = Fraction(a / b).limit_denominator()
print(f"Value: {format_mixed_fraction(target_frac)}")  # 输出:Value: 1 1/2

测试不同场景

  • 假分数5/3 → 输出1 2/3
  • 真分数1/2 → 输出1/2
  • 整数4/2 → 输出2
  • 约分后分数6/4(limit_denominator后为3/2)→ 输出1 1/2

内容的提问来源于stack exchange,提问作者Thants

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:25:20