如何在Python中打印上标和下标?
每当我们使用公式时,可能需要以给定的格式编写给定的公式,这可能需要下标或上标。有多种方法可用于在Python中打印下标和上标。我们将在下面讨论其中两个——
使用 maketrans() 和 translate() :
我们可以制作两个字符串,一个用于普通字符,另一个用于下标/上标字符。之后,我们可以使用maketrans()方法返回一个映射,该映射可以与translate()方法一起使用来替换指定的字符。它可以实现为上标
Python3
# function to convert to superscript
def get_super(x):
normal = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-=()"
super_s = "ᴬᴮᶜᴰᴱᶠᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾQᴿˢᵀᵁⱽᵂˣʸᶻᵃᵇᶜᵈᵉᶠᵍʰᶦʲᵏˡᵐⁿᵒᵖ۹ʳˢᵗᵘᵛʷˣʸᶻ⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾"
res = x.maketrans(''.join(normal), ''.join(super_s))
return x.translate(res)
# display superscipt
print(get_super('GeeksforGeeks')) #ᴳᵉᵉᵏˢᶠᵒʳᴳᵉᵉᵏˢ
Python3
# function to convert to subscript
def get_sub(x):
normal = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-=()"
sub_s = "ₐ₈CDₑբGₕᵢⱼₖₗₘₙₒₚQᵣₛₜᵤᵥwₓᵧZₐ♭꜀ᑯₑբ₉ₕᵢⱼₖₗₘₙₒₚ૧ᵣₛₜᵤᵥwₓᵧ₂₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎"
res = x.maketrans(''.join(normal), ''.join(sub_s))
return x.translate(res)
# display subscript
print('H{}SO{}'.format(get_sub('2'),get_sub('4'))) #H₂SO₄
Python3
# subscript
print(u'H\u2082SO\u2084') # H₂SO₄
# superscript
print("x\u00b2 + y\u00b2 = 2") # x² + y² = 2
输出:
ᴳᵉᵉᵏˢᶠᵒʳᴳᵉᵉᵏˢ
对于下标,我们可以将其实现为
蟒蛇3
# function to convert to subscript
def get_sub(x):
normal = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-=()"
sub_s = "ₐ₈CDₑբGₕᵢⱼₖₗₘₙₒₚQᵣₛₜᵤᵥwₓᵧZₐ♭꜀ᑯₑբ₉ₕᵢⱼₖₗₘₙₒₚ૧ᵣₛₜᵤᵥwₓᵧ₂₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎"
res = x.maketrans(''.join(normal), ''.join(sub_s))
return x.translate(res)
# display subscript
print('H{}SO{}'.format(get_sub('2'),get_sub('4'))) #H₂SO₄
输出:
H₂SO₄
使用 Unicode 下标和上标:
下表给出了 Unicode字符的下标和上标: 0 1 2 3 4 5 6 7 8 9 A B C D E F U+207x ⁰ ⁱ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ U+208x ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ U+209x ₐ ₑ ₒ ₓ ₔ ₕ ₖ ₗ ₘ ₙ ₚ ₛ ₜ
在 Unicode字符的帮助下,我们可以在我们的代码中实现它:
蟒蛇3
# subscript
print(u'H\u2082SO\u2084') # H₂SO₄
# superscript
print("x\u00b2 + y\u00b2 = 2") # x² + y² = 2
输出:
H₂SO₄
x² + y² = 2