使用在文本的sympy打印希腊信件

时间:2014-10-21 09:58:30

标签: python printing sympy

假设我想打印类似

的内容

"我是pi"

pi应该是希腊字母pi。有同情心,我可以做到

import sympy
from sympy.abc import pi
sympy.pprint(pi)

给出了希腊字母pi,但是我把它放到文本中有问题。例如

sympy.pprint("I am"+pi)

显然不起作用。我可以将文本转换为符号符号sympy.Symbol('我是'),但后来我会得到

我是+ pi

3 个答案:

答案 0 :(得分:3)

您想要pretty(),它与pprint相同,但它会返回一个字符串而不是打印它。

In [1]: pretty(pi)
Out[1]: 'π'

In [2]: "I am %s" % pretty(pi)
Out[2]: 'I am π'

如果您只关心获取Unicode字符,则可以使用Python标准库:

import unicodedata
unicodedata.lookup("GREEK SMALL LETTER %s" % letter.upper()) # for lowercase letters
unicodedata.lookup("GREEK CAPITAL LETTER %s" % letter.upper()) # for uppercase letters

答案 1 :(得分:1)

latex和str都会返回一个字符串

>>> latex(pi)
'\\pi'
>>> str(pi)
'pi'

答案 2 :(得分:1)

您可以使用unicodedata.lookup来获取Unicode字符。在你的情况下,你会这样做:

import unicodedata
print("I am " + unicodedata.lookup("GREEK SMALL LETTER PI"))

这给出了以下结果:

I am π

如果你想要大写字母,你应该unicode.lookup("GREEK CAPITAL LETTER PI"))。您可以将PI替换为任何希腊字母的名称。