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()

你可能感兴趣的:(python)