如何在 Python 中列印上標和下標?
Python 是一種多用途程式語言,我們都知道它簡單且功能強大。無論您是初學者還是經驗豐富的開發人員,Python 都能為我們提供各種工具來控制和以各種格式顯示文字。很多時候,我們需要將上標和下標作為我們寫作的一部分,特別是用於表示科學記數法或值。在本文中,我們將嘗試視覺化並瞭解在 Python 中列印上標和下標的不同方法。這將使您能夠美化和調整文字輸出,使其在視覺上具有吸引力,並且同樣正確。
解碼上標和下標
儘管你們中的大多數人已經瞭解上標和下標,但為了初學者或新學習者的清晰起見,讓我們快速瞭解這兩個術語的含義。
上標:在寫作時,我們遵循一條基線(虛線)以保持流暢性和可讀性。對於某些型別的文字,我們需要一種格式,其中較小的文字提升到基線上方,以便用於數學指數、腳註或某些化學公式。這種格式化技術稱為上標。例如,在表示式“x2”中,數字 2 為上標
下標:下標與上標完全相反。此格式化技術將較小的文字降低到基線下方,主要用於化學公式、數學方程式或某些數學符號。例如,在化學式“H2O”中,數字 2 為下標。
現在我們已經對上標和下標有了清晰的認識,讓我們瞭解如何在 Python 中列印它們。
方法 1:使用 Unicode 字元
Unicode 是一種標準化的系統,在全球範圍內被接受,用於對以大多數可用書寫系統表達的文字進行字元編碼。它為各種書寫系統中的每個字元分配一個唯一的數字。Python 是支援 Unicode 的語言之一,這使得我們可以顯示各種字元,包括上標和下標。
讓我們瞭解一些與相應字元相關的 Unicode 程式碼。
上標數字 |
Unicode 程式碼 |
上標字元 |
|---|---|---|
0 |
U+2070 |
0 |
1 |
U+00B9 |
1 |
2 |
U+00B2 |
2 |
3 |
U+00B3 |
3 |
4 |
U+2074 |
4 |
5 |
U+2075 |
5 |
6 |
U+2076 |
6 |
7 |
U+2077 |
7 |
8 |
U+2078 |
8 |
9 |
U+2079 |
9 |
下標數字 |
Unicode 程式碼 |
下標字元 |
|---|---|---|
0 |
U+2070 |
0 |
1 |
U+00B9 |
1 |
2 |
U+00B2 |
2 |
3 |
U+00B3 |
3 |
4 |
U+2074 |
4 |
5 |
U+2075 |
5 |
6 |
U+2076 |
6 |
7 |
U+2077 |
7 |
8 |
U+2078 |
8 |
9 |
U+2079 |
9 |
如果我們新增 /u,Python print() 語句可以理解 Unicode,它會返回與給定 Unicode 程式碼對應的字元。讓我們編寫一個簡單的程式來測試它。
示例
# superscript
print("x\u00b2") # x²
# subscript
print(u'H\u2082O') # H2O
輸出
x² H2O
方法 2:建立自定義函式
我們還可以建立一個函式來提高靈活性,並根據需要使用它將我們的文字轉換為上標或下標。
在我們的函式中,我們可以建立兩個字串,一個用於普通字元,另一個用於上標/下標字元。
然後可以使用 maketrans() 方法在字元之間建立連結或對映。現在,我們可以簡單地將對映傳遞給 translate() 方法以用上標/下標字元替換普通字元。
使用此函式,您可以輕鬆地將任何常規數字轉換為上標或下標。讓我們看看我們的程式碼以更好地理解它。
示例
def convert_text(text, is_superscript=True):
normal_chars = "0123456789"
superscript_chars = "⁰¹²³⁴⁵⁶⁷⁸⁹"
subscript_chars = "₀₁₂₃₄₅₆₇₈₉"
if is_superscript:
mapping = str.maketrans(normal_chars, superscript_chars)
else:
mapping = str.maketrans(normal_chars, subscript_chars)
converted_text = text.translate(mapping)
return converted_text
input_text = 'X2'
superscript_text = convert_text(input_text, is_superscript=True)
subscript_text = convert_text(input_text, is_superscript=False)
print("Input Text: ", input_text)
print("Superscript Text:", superscript_text)
print("Subscript Text:", subscript_text)
輸出
Input text: X2 Superscript text: X² Subscript text: X₂
方法 3:使用 univoceit 庫
除了 unicode 方法和自定義函式之外,我們還可以找到 Python 龐大的庫支援的途徑。
其中一個庫是 UnicodeIt 庫,它將 LaTeX 標籤轉換為 unicode。我們可以使用它的 replace() 方法生成上標和下標。
對於上標,我們使用標籤“^”,對於下標,我們在 replace() 方法中使用標籤“_”。在可以在程式碼中使用它之前,我們可以透過在 cmd 視窗中執行以下命令輕鬆地安裝它
pip install unicodeit
現在,一旦我們完成了軟體包的安裝,我們就可以匯入和使用該庫。讓我們深入研究程式碼。
示例
import unicodeit
print(unicodeit.replace('X^2 + Y^2 = Z^2'))
print(unicodeit.replace('H_2SO_4'))
輸出
X² + Y² = Z² H₂SO₄
上標和下標的應用
數學方程式
表示指數:“x^2”表示“x 平方”。
科學記數法:“1.23 x 10^5”表示“1.23 乘以 10 的 5 次方”。
化學式
分子式:“H2O”表示水,其中“2”是下標,表示兩個氫原子。
化學方程式:“2H2 + O2 → 2H2O”表示氫和氧生成水的過程。
腳註和參考文獻
指示腳註:“這是一句帶有上標^1的句子,它指的是一個腳註。”
引用:“愛因斯坦的相對論^2徹底改變了物理學。”
格式化字元
商標:“OpenAITM”帶有“TM”上標。
註冊符號:“OpenAI®”帶有“R”上標。
結論
上標和下標廣泛用於數學方程式和化學公式。如今,它們也用於美化或使文字在視覺上更具吸引力。藉助 Python 及其強大的庫(如 Unicodeit),我們可以使用一行程式碼輕鬆地將這兩種書寫格式實現到我們的指令碼中。
在本文中,我們還了解了如何建立自己的函式來將普通文字轉換為上標和下標。有很多自定義的可能性,請嘗試執行您自己的願景。我們已經看到了執行可能命令的編碼示例。
初始程式碼使用 Python 的 Unicode 支援將普通文字轉換為上標和下標。對於第二個示例,我們建立了一個函式,它提高了我們的靈活性,並促進了它在多種場景中的使用。
最後,我們看到了庫的強大功能。Unicodeit 透過使用簡單的 replace() 方法幫助我們將文字轉換為上標和下標。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP