我試圖用Sympy打印一些分區,但我注意到它沒有顯示對齊。未對齊Sympy的分區的好評
import sympy
sympy.init_printing(use_unicode=True)
sympy.pprint(sympy.Mul(-1, sympy.Pow(-5, -1, evaluate=False), evaluate=False))
# Output:
# -1
# ───
# -5 # Note that "-5" is displayed slightly more on the right than "-1".
原因/解決方法?
編輯:我做了很多使用inspect.getsource
和inspect.getsourcefile
反向工程,但它並沒有真正幫幫忙到底。
在Sympy漂亮的印刷似乎是依靠漂亮的印刷由Jurjen博。
import sympy
from sympy.printing.pretty.stringpict import *
sympy.init_printing(use_unicode=True)
prettyForm("-1")/prettyForm("-5")
# Displays:
# -1
# --
# -5
所以它不顯示對齊,但我不能讓它使用unicode。
的PrettyPrinter從文件sympy/printing/pretty/pretty.py
的方法PrettyPrinter._print_Mul
這只是return prettyForm.__mul__(*a)/prettyForm.__mul__(*b)
有,我想,a
和b
只是被['-1']
和['-5']
叫,但它是行不通的。
我確認了這種行爲。當分子和分母都是負的單位數值時,似乎就會發生。 – dlask
https://github.com/sympy/sympy/issues/9450 – JeromeJ