sam*_*ins 8 python subscript python-3.x python-3.3
在Python 3.3中,有没有办法在打印时在字符串下标中创建文本的一部分?
例如H 2(H,然后是下标2)
Zer*_*eus 21
如果你关心的只是数字,你可以使用str.maketrans()和str.translate()方法:
>>> SUB = str.maketrans("0123456789", "??????????")
>>> SUP = str.maketrans("0123456789", "?¹²³??????")
>>> "H2SO4".translate(SUB)
'H?SO?'
Run Code Online (Sandbox Code Playgroud)
请注意,这在Python 2中不起作用 - 请参阅Python 2 maketrans()函数不能与Unicode一起解释为什么会出现这种情况,以及如何解决它.
Bak*_*riu 13
在控制台上执行的输出是简单文本.如果终端支持unicode(现在大多数都支持),你可以使用unicode的下标.(例如H 2)即下标在以下范围内:
+,-, =,(,)(N从云0到F)例如:
In [6]: print(u'H\u2082O\u2082')
H?O?
Run Code Online (Sandbox Code Playgroud)
对于更复杂的输出,您必须使用标记语言(例如HTML)或排版语言(例如LaTeX).
小智 10
使用这样的代码也有效:
print('\N{GREEK SMALL LETTER PI}r\N{SUPERSCRIPT TWO}')
print('\N{GREEK CAPITAL LETTER THETA}r\N{SUBSCRIPT TWO}')
Run Code Online (Sandbox Code Playgroud)
输出为:
?r²
??
Run Code Online (Sandbox Code Playgroud)
请注意,这仅适用于 Python 3.3 及更高版本。Unicode 格式。
如果您想在绘图的轴上使用它,您可以执行以下操作:
import matplotlib.pyplot as plt
plt.plot([1])
plt.ylabel(r'$H_{2}$')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这使
| 归档时间: |
|
| 查看次数: |
43580 次 |
| 最近记录: |