python項目之 詞典的實現

python項目之 詞典的實現

思路

從文本中讀取全部單詞,然後和輸入的詞對比,有的話就輸出中文的釋義。

知識點

文本讀取
類和對象的使用

下一步要加入數據庫功能

詞庫的鏈接

http://pan.baidu.com/s/1jHw2n0y

源碼如下

# -*- coding: utf-8 -*-

import os
import sqlite3

class One_Word(object):
    def __init__(self):
        self.en = u""
        self.num = 0
        self.chs = []
    def set_word(self, en, num, chs):
        self.num = num
        self.chs = chs
        self.en = en

def ReadFile():
    words =[]
    with open('wwaa.txt','r',encoding='utf8') as f:
        while True:
            line = f.readline().strip('\n')
            if line == "":
                break
            wod = line.split("=")
            en = wod[1]
            nums = f.readline().strip('\n').split("=")
            num = int(nums[1])
            i=0
            chs = []
            while i< num:
                f.readline()
                chs.append(f.readline().strip('\n'))
                i += 1
            word= One_Word()
            word.en = en
            word.chs = chs
            word.num = num
            words.append(word)
    return words
def Jieshi(danci,words):
    flag = False
    chs = ""
    for word in words:
        if flag == True:
            break
        if danci == str(word.en):
            num = word.num
            chss = word.chs
            flag =True
            for chsa in chss:
                chs += chsa
                chs +="\n"
    return chs

def main():
    words = ReadFile()
    print("|--------------------------------------------------|")
    print("|------------------查詢單詞軟件---------------------|")
    print("|--------------------------劉雲飛製作---------------|")
    print("|--------------------------------------------------|")
    while True:
       word  = input("查詢:")
       word_chs = Jieshi(word,words)

       print('中文釋義:')
       if word_chs == "":
           print("Not find word ->",word)
       else:
           print(word_chs)
       print("--------------------------------------------------")

if __name__ == '__main__':
    main()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章