【问题标题】:Printing greek letters using sympy in text在文本中使用 sympy 打印希腊字母
【发布时间】:2014-10-21 09:58:30
【问题描述】:

假设我想打印类似的东西

“我是 pi”

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

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

它给出了希腊字母 pi,但我在将其放入文本时遇到了问题。例如

sympy.pprint("I am"+pi)

显然行不通。我可以将文本转换为 sympy 符号 sympy.Symbol('I am'),然后我会得到

我是+pi

【问题讨论】:

  • 您想打印一个给定英文名称的数学希腊字母吗?你试过字典吗:d = {'pi': u'\U0001D6D1'}

标签: python printing sympy


【解决方案1】:

你想要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

【讨论】:

    【解决方案2】:

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

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

    这给出了以下结果:

    I am π
    

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-07-16
        • 2017-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-25
        相关资源
        最近更新 更多