首頁 > 後端開發 > Python教學 > 將以下內容翻譯為中文:Python程式將單數轉換為複數

將以下內容翻譯為中文:Python程式將單數轉換為複數

WBOY
發布: 2023-09-15 17:33:02
轉載
1041 人瀏覽過

將以下內容翻譯為中文:Python程式將單數轉換為複數

在本文中,我們將學習一個將單數轉換為複數的 Python 程式。

假設給你一個單數單字,我們必須使用各種 python 方法將其轉換為複數。

使用的方法

以下是完成此任務的各種方法 -

  • 使用正規表示式模組

  • 使用 NLTK 和 Pattern-en 套件

  • #使用 Textblob 模組

  • 使用inflect模組

#方法一:使用正規表示式模組

#Python中的正規表示式模組根據指定的模式搜尋一個字串或一組字串。如果您的 Python 中尚不存在該模組,則必須安裝它,該模組通常會隨 Python 一起預先安裝。

範例

以下程式使用正規表示式模組透過指定適當的正規表示式模式傳回給定單字的複數 -

# importing re(regex) module
from re import *
# input word to be pluralized
inputWord = "plant"
print("The plural of the word {", inputWord, "} is:")
# checking whether the input word is ending with s,x,z or is
# ending with ah, eh, ih, oh, uh, dh, gh, kh, ph, rh, th
# with the regex pattern
if search('[sxz]$', inputWord) or search('[^aeioudgkprt]h$', inputWord):
   # If it is true, then get the pluraof the inputWord by adding "es" in end
   print(sub('$', 'es', inputWord))
# checking whether the input word is ending with ay,ey,iy,oy,uy
# with the other regex pattern
elif search('[aeiou]y$', inputWord):
   # If it is true, then get the plural
   # of the word by removing 'y' from the end and adding ies to end
      print(sub('y$', 'ies', inputWord))
# Else add it just "s" to the word at the end to make it plural
else:
   print(inputWord + 's')
登入後複製

輸出

執行時,上述程式將產生以下輸出 -

The plural of the word { plant } is:
plants
登入後複製

但是,使用此正規表示式方法來取得複數的效率不是很高,因為它可以正確地對某些單字進行複數化,而在其他情況下卻無法做到這一點。因此,我們將尋找更有效的技術來確定單字的複數。

方法2:使用NLTK和Pattern-en套件

NLTK模組

NLTK 模組創建 Python 應用程式來處理人類語言數據,並提供與語料庫和詞彙資源的簡單介面。

模式模組

模式模組是一個開源Python模組,用於執行各種自然語言處理操作。此模組可用於各種任務,包括文字處理和資料探勘。

使用以下指令安裝模式模組

pip install pattern
登入後複製

使用以下程式碼下載所需的 nltk 資料 -

# importing nltk module
import nltk
nltk.download('omw-1.4')
# downloading the NLTK data to run the en function of the package module 
nltk.download('popular')
登入後複製

範例

以下程式使用 NLTK 和 Pattern-en 套件傳回給定單字的複數形式 -

# importing pluralize from pattern-en module
from pattern.en import pluralize
# passing the word to be pluralized as an argument to the 
# pluralize() function to make the word plural
print(pluralize('lion'))
登入後複製

輸出

執行時,上述程式將產生以下輸出 -

lions
登入後複製

方法3:使用Textblob模組

Textblob Python 模組用於處理文字數據,簡稱 Textblob 模組。這是涉及自然語言處理問題的最簡單的模組之一。

以下命令可用於下載該模組。除了texblob模組之外,還需要安裝textblob模組的語料庫功能。

使用以下命令安裝textblob模組 -

pip install textblob 
登入後複製

範例

以下程式使用 Textblob 模組傳回給定單字的複數形式 -

# importing TextBlob function from textblob module 
from textblob import TextBlob
# passing the word to be pluralized as an argument to the TextBlob() function 
blobWord = TextBlob('flower')
 
# printing the plural word of the given blob word using the pluralize() function
print(blobWord.words.pluralize())
登入後複製

輸出

執行時,上述程式將產生以下輸出 -

['flowers']
登入後複製

方法4:使用inflect模組

變形模組

Python 中的 Inflect 模組用於創建複數名詞、單數名詞、序數詞和不定冠詞,以及將數字轉換為單字。可以使用以下命令來安裝該模組。

安裝 -

pip install inflect
登入後複製

演算法(步驟)

以下是執行所需任務所需遵循的演算法/步驟。 -

  • 使用 import 關鍵字導入 inflect 模組。

  • 使用engine()函數設定inflect模組的引擎/來源

  • #使用 pluralize() 函數透過將輸入單字作為參數傳遞給它來獲取給定單字的複數形式,並列印結果單字。

  • 單數名詞透過plural()函數轉換為複數名詞,其功能非常合適。

範例

以下程式使用 inflect 模組傳回給定單字的複數形式 -

# importing inflect module
import inflect
m = inflect.engine()
# input word to be pluralized 
word = 'dog'
# Pass the word to be pluralized as an argument to the plural() 
# function to make the word plural.
print("The plural form of 'dog' is: ", m.plural(word))
登入後複製

輸出

執行時,上述程式將產生以下輸出 -

The plural form of 'dog' is:  dogs
登入後複製

結論

在本文中,我們介紹了將給定單字從單數更改為複數的四種不同方法。我們學習如何使用 pip 指令來安裝模組。此外,我們也學習如何從 nltk 下載資料。

以上是將以下內容翻譯為中文:Python程式將單數轉換為複數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板