gpt4 book ai didi

python - 如何在 sympy 中正确渲染大括号?

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:34 24 4
gpt4 key购买 nike

我尝试在 qtconsole 或使用 pprint 的终端中呈现简单的代数表达式,但结果几乎具有误导性。这是一个最小的例子

from sympy import pprint, simplify, init_printing
from sympy.abc import a, b

init_printing()
c = a - b**2
pprint(simplify(c**2))
print(simplify(c**2))

我在 jupyer qtconsole 和 rxvt-unicode 终端中尝试了此代码,但两者都无法正确显示多级括号。在终端上,我在括号应该在的地方得到了矩形符号。 qtconsole 更糟糕,因为它不显示括号。

enter image description here

当表达式变得更加复杂时,这会非常令人困惑。如果我遗漏了某些内容,或者是否可以配置 sympy 以更好地显示该内容,请告诉我。

最佳答案

pprint 默认使用 Unicode 字符打印括号,例如

        2
⎛ 2⎞
⎝a - b ⎠

您的 qtconsole 似乎没有渲染它们,这可能意味着您使用的字体不支持它们。

我的建议:

  • 安装 DejaVu Sans Mono 并将您的 qtconsole 字体设置为该字体(请参阅 https://stackoverflow.com/a/18904744/161801 )。根据我的经验,DejaVu Sans Mono 是 SymPy 使用的 Unicode 字符的最佳字体。

  • 在您的计算机上安装 LaTeX。如果您在 qtconsole 中运行 init_printing,SymPy 检测到已安装 LaTeX,它将使用它渲染数学(pprint 仍将渲染文本)。

如果以上两种方法都不适合您,解决方法是使用 pprint(expr, use_unicode=False),它将仅使用 ASCII 字符打印表达式。它看起来不太好,但它应该以任何等宽字体正确呈现。

关于python - 如何在 sympy 中正确渲染大括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35649552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com