使用 Python 更正拼寫

使用 Python 更正拼寫

拼寫檢查器是幫助提高書面交流準確性的重要工具。寫作時,您很容易忽略拼寫檢查器可以輕鬆檢測到的拼寫錯誤或拼寫錯誤。這不僅可以節省時間和精力,還可以幫助您避免尷尬的錯誤。

您可以輕鬆開發一個 GUI 應用程序,您可以在其中鍵入一個單詞並使用 Python 的 Tkinter 模塊獲得正確的拼寫。Tkinter 提供了驚人的可定制小部件,使開髮變得簡單而有趣。

Tkinter 和拼寫檢查器模塊

Python 的默認 GUI 庫稱為 Tkinter。您可以使用 Tkinter 創建令人難以置信的 GUI 程序。您可以構建一個簡單的計算器、待辦事項列表應用程序、文本編輯器、音樂播放器或問答遊戲。您可以使用 Python 和 Tkinter 創建簡單的桌面應用程序,並將您的知識付諸實踐,同時提高您的編程技能。

要在您的系統中安裝 Tkinter,請打開終端並執行:

pip install tkinter

您將在此項目中大量使用的另一個模塊是拼寫檢查器模塊。Peter Norvig 的工作構成了該模塊的基礎。它使用 Levenshtein 距離算法在詞頻列表中查找排列。然後它假設單詞出現的頻率越高,它就越有可能是正確的拼寫。

要安裝拼寫檢查器模塊,請執行以下命令:

pip install pyspellchecker

如何使用 Python 構建拼寫校正器應用程序

按照以下步驟使用 Python 構建 GUI 拼寫校正器。

實現底層邏輯和功能

第一步是從拼寫檢查器模塊導入 Tkinter 和 SpellChecker 類。創建SpellChecker的實例並將其存儲在名為 corrector 的變量中。

from tkinter import *
from spellchecker import SpellChecker

corrector = SpellChecker()

定義一個函數clearAll(),它將清除輸入字段中顯示的數據。為此,請使用delete()函數刪除兩個條目字段word1_fieldword2_field上從 0 到最後一個索引的所有條目。

def clearAll():
    word1_field.delete(0, END)
    word2_field.delete(0, END)

定義另一個名為correction()的函數,它從第一個輸入字段中讀取一個單詞並將其正確的拼寫添加到第二個輸入字段中。在 word1_field 上使用get()方法將其值作為字符串獲取。將檢索到的單詞傳遞給correction()函數,然後在使用insert()方法將更正後的單詞插入字段開頭之前清除 word2_field 小部件。

def correction():
    input_word = word1_field.get()
    corrected_word = corrector.correction(input_word)
    word2_field.delete(0, END)
    word2_field.insert(0, corrected_word)

創建用戶界面

初始化 Tkinter 實例並顯示根窗口。使用configure()方法並將窗口的背景顏色設置為您想要的顏色,例如淺綠色。使用geometry()方法將窗口的尺寸設置為 900 像素寬和 450 像素高。還要設置適當的窗口標題。

root = Tk()
root.configure(background='aqua')
root.geometry("900x450")
root.title("Spellings Corrector")

使用標籤小部件顯示有關應用程序的有用信息。構造函數接受您要放置它的父窗口、它應該顯示的文本、字體顏色、背景顏色和字體大小。

headlabel = Label(root, text='Spellings Corrector', fg='white', bg="blue", font=10)
label1 = Label(root, text="Input Word", fg='black', bg='violet', font=10)
label2 = Label(root, text="Corrected Word", fg='black', bg='violet', font=10)

Grid 是一個幾何管理器,可以在二維表中組織小部件。您可以設想一個五行兩列的佈局。

將每個標籤放在適當的行和列中,記住它們的索引從零開始。您可以使用填充來對齊您的小部件;在此示例中,label2 沿 X 軸有 100 像素的填充。

headlabel.grid(row=0, column=1)
label1.grid(row=1, column=0)
label2.grid(row=3, column=0, padx=100)

定義兩個條目小部件,一個用於輸入,一個用於更正。將兩個小部件的字體大小設置為 10。將拼寫錯誤的條目小部件設置在第二行和第二列中,沿 X 軸填充 100,沿 Y 軸填充 50。對更正後的條目小部件執行相同操作,但將其放在第四行。

word1_field = Entry(font=10)
word2_field = Entry(font=10)
word1_field.grid(row=1, column=1, padx=100, pady=50)
word2_field.grid(row=3, column=1, padx=100, pady=50)

使用Button()小部件創建兩個按鈕:CorrectionClear。將根窗口作為它們的所有者傳入,按鈕的標籤作為字符串傳入,背景顏色為橙色,字體顏色為黑色,字體大小為 8。您可以在此處使用命令參數提供函數名稱;這將在用戶單擊按鈕時運行。

將每個按鈕放在適當的行和列中。

button1 = Button(root, text="Correction", bg="orange", fg="black", font=8, command=correction)
button1.grid(row=2, column=1),
button2 = Button(root, text="Clear", bg="orange", fg="black", font=8, command=clearAll)
button2.grid(row=4, column=1)

mainloop ()函數告訴 Python 運行 Tkinter 事件循環並監聽事件(例如按鈕按下),直到您關閉窗口:

root.mainloop()

將所有這些代碼放在一起並運行該程序以觀察拼寫校正器應用程序的運行情況。

拼寫校正器應用程序的輸出

當您運行這個程序時,您應該會看到一個藍色背景的小窗口。在第一個輸入字段中輸入拼寫錯誤的單詞,然後按更正按鈕。您應該會在第二個文本字段中看到正確的拼寫。您可以使用清除按鈕重置兩個文本字段。

使用 Tkinter Python 的拼寫校正器

面向開發人員的 Python GUI 框架

Python GUI 框架是開發人員的絕佳資源。您可以使用吸引人的、有用的 GUI 快速構建應用程序。除了 Tkinter,您可以使用的一些框架包括 Qt designer、Kivy、Toga 和 BeeWare。使用這些框架,您可以構建從小型實用程序到功能齊全的產品的任何東西。

使用 Python,您將獲得額外的優勢。由於 Python GUI 框架支持跨平台開發,您可以在不同的操作系統上使用相同的代碼。憑藉所有這些功能以及更多功能,Python 已成為創建圖形用戶界面的理想語言,具有更高的可靠性和更低的成本。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *