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
是从数字文字创建分数的正确方法。
这篇关于将分数作为因子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:将分数作为因子
基础教程推荐
猜你喜欢
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01