是否可以在不擦除前一个字符的情况下在彼此之上打印字符以同时具有上标和下标?

Is it possible to print characters on top of each other without erasing the previous one in order to have both superscript and subscript?

我想知道我是否可以有 print() 输出,例如

                                    

在终端 and/or 和 IPython/Jupyter 笔记本中。我想开发一个使用公差尺寸的库,这些类型的漂亮打印输出在开发和测试过程中会非常方便。

目前我所知道的:

我不知道什么

在 Jupyter Notebook/Lab 中这应该有效:

from IPython.display import Math

Math(r"1.23^{+4.56}_{-7.89}")

为了方便,可以打包成class:

from IPython.display import Math

class PPrint:
    def __init__(self, base, sub, sup):
    self.base = base
    self.sub = sub
    self.sup = sup
    

    def  _ipython_display_(self):
        display(Math(f"{{{self.base}}}^{{{self.sub}}}_{{{self.sup}}}"))

然后您可以创建一个实例,例如:

x = PPrint("1.23", "+4.56", "-7.89")

并且如果您在笔记本中执行 xdisplay(x),它应该如您的示例所示。