当我使用sympy
得到8的平方根时,输出很难看:
2*2**(1/2)
import sympy
In [2]: sympy.sqrt(8)
Out[2]: 2*2**(1/2)
有没有办法以正确的数学符号表示sympy
打印输出(即使用正确的符号作为平方根)?
当我关注@pqnet的suggestions时:
from sympy import *
x, y, z = symbols('x y z')
init_printing()
init_session()
我收到以下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-23-21d886bf3e54> in <module>()
2 x, y, z = symbols('x y z')
3 init_printing()
----> 4 init_session()
/usr/lib/python2.7/dist-packages/sympy/interactive/session.pyc in init_session(ipython, pretty_print, order, use_unicode, quiet, argv)
154 # and False means don't add the line to IPython's history.
155 ip.runsource = lambda src, symbol='exec': ip.run_cell(src, False)
--> 156 mainloop = ip.mainloop
157 else:
158 mainloop = ip.interact
AttributeError: 'ZMQInteractiveShell' object has no attribute 'mainloop'
答案 0 :(得分:0)
最简单的方法是:
sympy.pprint(sympy.sqrt(8))
对我来说(使用rxvt-unicode和ipython),它给出了
___
2⋅╲╱ 2
答案 1 :(得分:0)
在ipython笔记本中,您可以使用init_printing
功能启用Sympy的图形数学排版:
import sympy
sympy.init_printing(use_latex='mathjax')
之后,sympy将拦截每个单元格的输出并使用数学字体和符号对其进行格式化。尝试:
sympy.sqrt(8)
另见: