Keep fractions as factors(将分数作为因子)
本文介绍了将分数作为因子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在许多情况下,我希望将分数的分子和分母中的符号严格分组到该分数中。例如,我可能想要这样:16 1
--*-----*(a + b)
37 4*a*b
而不是更简化的
4(a + b)
--------
37*a*b
在经历了大量的暴力实验后,我预计会是这样的:
from sympy import Mul, Rational, pretty
from sympy.abc import a, b
left = Rational(16, 37)
center = 1 / (4*a*b)
right = a + b
expr = Mul(left, center, right, evaluate=False)
print(pretty(expr))
以生成我上面给出的第一个示例。
相反,我得到了这个邪恶的可憎的东西:
1
16*-----*(a + b)
4*a*b
----------------
37
这似乎真的很容易做到,我只是错过了一些东西。
在我写这篇文章的时候,我确实找到了一些可以工作的东西(在下面我自己的答案中给出了),但它似乎是一种老套的解决办法,而且不是很令人满意……这让我认为这可能是一个错误,但我不确定。推荐答案
感谢this answer,我发现使用UnevaluatedExpr给了我想要的东西。此修改后的代码段:
from sympy import Mul, pretty
from sympy import UnevaluatedExpr
from sympy.abc import a, b
left = UnevaluatedExpr(16) / 37
center = 1 / (4*a*b)
right = a + b
expr = Mul(left, center, right, evaluate=False)
print(pretty(expr))
给予:
16 1
--*-----*(a + b)
37 4*a*b
但是,这感觉真的很麻烦。sympy docs中的所有内容似乎都表明,使用Rational是从数字文字创建分数的正确方法。
这篇关于将分数作为因子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:将分数作为因子
基础教程推荐
猜你喜欢
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
