《Python Cookbook 3rd》笔记(3.8):分数运算

╰半夏微凉° 2022-12-21 15:57 272阅读 0赞

分数运算

问题

你穿越时空,回到童年,突然发现你正在做小学家庭作业,并涉及到分数计算问题。或者你可能需要写代码去计算在你的木工工厂中的测量值。

解法

fractions 模块可以被用来执行包含分数的数学运算。比如:

  1. >>> from fractions import Fraction
  2. >>> a = Fraction(5, 4)
  3. >>> b = Fraction(7, 16)
  4. >>> print(a + b)
  5. 27/16
  6. >>> print(a * b)
  7. 35/64
  8. >>> # Getting numerator/denominator
  9. >>> c = a * b
  10. >>> c.numerator
  11. 35
  12. >>> c.denominator
  13. 64
  14. >>> # Converting to a float
  15. >>> float(c)
  16. 0.546875
  17. >>> # Limiting the denominator of a value
  18. >>> print(c.limit_denominator(8))
  19. 4/7
  20. >>> # Converting a float to a fraction
  21. >>> x = 3.75
  22. >>> y = Fraction(*x.as_integer_ratio())
  23. >>> y
  24. Fraction(15, 4)
  25. >>>

讨论

在大多数程序中一般不会出现分数的计算问题,但是有时候还是需要用到的。比如,在一个允许接受分数形式的测试单位并以分数形式执行运算的程序中,直接使用分数可以减少手动转换为小数或浮点数的工作。

发表评论

表情:
评论列表 (有 0 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读