python 简单英文字典

Python 简单英文字典

python 简单英文字典

功能:包括英文的查询,和模糊查询,添加,删除,退出,修改(包括对单词的修改和解释的修改在这里插入代码片
代码菜鸟,在有的地方还是有问题的就是数据如果查询和存储第一个,就是出现多次存储的情况但是我到现在也不知道为什么会这样
dic.txt文件是要和自己的python工程文件建在一起的,dic.txt文件要是空文件

import difflib
import re
def rdic():
    fr = open('dic.txt','r')    
    for line in fr:
        line = line.replace("\n",'')
        v = line.split(':')
        dic[v[0]] = v[1]
        keys.append(v[0])
    fr.close()
 
def centre():
    n = input("请输入进入相应模块(1,添加、2,查询、3,退出,4,删除,5,修改):")
    if n =="1":
        key = input("请输入英文单词:")
        
        if key not in keys:
            value = input("请输入中文单词:")
            dic[key] = value
            keys.append(key)
            print("单词已经添加成功")	
        else:
            t=input("如果添加新的意思请输入 Y,否则输入N:")
            if ( t=='Y'):
                temp=""
                temp=temp+dic[key]
                key1= input("请输入中文:")
                temp=temp+","+key1
                dic[key]=temp
                print(dic[key])
                return 0
            else:
                return 0
    elif n =="2":
        keyone= input("请输入英文单词:")
        
        kk=[]
        for k in keys:
              match=re.match(keyone,k)#匹配,两个key
              if(match):#如果匹配成功,不成功为none
                  kk.append(k)#添加k进入数组
       
        kk=list(set(kk))#去重
        print("中文意思为:")
        for k in kk:
            print(dic[k])
    elif n=="4":
        flag=0
        key=input("请输入你要删除的单词:")
        
        for k in keys:
             if(k==key):
                keys.pop(flag)
             flag=flag+1
    elif n=="5":
        flag=0
        t=input("如果要修改单词输入Y,如果要修改解释输入N:")
        if(t=="Y"):
            key=input("请输入你要修改的单词:")
            rekey=input("请输入你要修改成为的单词:")
            for k in keys:
                 if(k==key):
                     value=dic[key]
                     keys.pop(flag)
                 flag=flag+1
            
            dic[rekey] = value
            keys.append(rekey)
            print("单词已经修改成功")	#通过先删除在增加的方式进行修改
        if(t=="N"):
            key=input("请输入你要修改的单词:")
            revalue=input("请输入你要修改成为的解释:")
            for k in keys:
                 if(k==key):
                     
                     keys.pop(flag)
                 flag=flag+1
            dic[key] = revalue
            keys.append(key)
            print("单词已经修改成功")
            
        
    elif n =="3":        
        return 1
    else:        
        print("输入有误")
        return 0
    
def wdic():#写入文件代码 通过keys的顺序写入
    with open('dic.txt','w') as fw:
        for k in keys:
            fw.write(k+':'+dic[k]+'\n') 
    
 
if __name__=="__main__":
    keys = [] #用来存储读取的顺序
    dic = {}
    
    while True:
        rdic()
        n = centre()
        wdic()
        if n == 0:
            continue
        elif n == 1:
            break      
 

python 简单英文字典_第1张图片python 简单英文字典_第2张图片在这里插入图片描述

你可能感兴趣的:(python 简单英文字典)