| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 Estein 于 2016-9-18 23:46 编辑  
- # Mydictionary
 
 - # Versin:2.0
 
 - # Author:Estein
 
 - # Date:2016/9/18
 
 - import easygui as g
 
 - import pickle
 
 - import sys
 
  
- def load_data(filename):
 
 -     f = open(filename,'rb')
 
 -     Mydict = pickle.load(f)
 
 -     f.close()
 
 -     return Mydict
 
  
- def save_data(filename,Mydict):
 
 -     f = open(filename,'wb')
 
 -     pickle.dump(Mydict,f)
 
 -     f.close()
 
  
-     
 
 - def welcome():
 
 -     msg = '欢迎使用My Dictionary!'
 
 -     title = 'Dictionary'
 
 -     ok_button = '进入'
 
 -     flag = g.msgbox(msg,title,ok_button)
 
 -     return flag
 
  
- def menu():
 
 -     msg = '选择待执行指令:'
 
 -     title = '菜单'
 
 -     Button1 = '显示字典'
 
 -     Button2 = '添加单词'
 
 -     Button3 = '删除单词'
 
 -     Button4 = '查询单词'
 
 -     Button5 = '退出'
 
 -     choice = g.buttonbox(msg,title,choices = (Button1,Button2,Button3,Button4,Button5))
 
 -     return choice
 
  
- def display(Mydict):
 
 -     msg = '字典内容如下:'
 
 -     title = '字典显示...'
 
 -     text = ''
 
 -     for each in Mydict:
 
 -         text += each + ' : ' + Mydict[each] + '\n'
 
 -     g.textbox(msg,title,text)
 
 -         
 
  
- def add_word(Mydict,values = ()):
 
 -     msg = '输入想添加入字典的单词及释义:'
 
 -     title = '正在添加单词...'
 
 -     fields = ('单词','释义')
 
 -     vals = g.multenterbox(msg,title,fields,values)
 
 -     try:
 
 -         if vals[0] == '' or vals[1] == '':
 
 -             add_word(Mydict,values = [vals[0],vals[1]])
 
 -         else:
 
 -             Mydict[vals[0]] = vals[1]
 
 -             g.msgbox('单词%s已成功加入字典!' % vals[0])
 
 -     except TypeError:
 
 -         pass
 
 -     
 
 -     return Mydict
 
  
- def del_word(Mydict):
 
 -     msg = '输入想要删除的单词:'
 
 -     title = '正在删除单词...'
 
 -     word = g.enterbox(msg,title)
 
 -     if word == None:
 
 -         pass
 
 -     elif word == '':
 
 -         del_word(Mydict)
 
 -     elif word in Mydict:
 
 -         del Mydict[word]
 
 -         g.msgbox('单词%s已从字典中移除!' % word)
 
 -     else:
 
 -         g.msgbox('单词%s在字典中并不存在!' % word)
 
  
-     
 
  
-     return Mydict
 
  
- def search(Mydict):
 
 -     msg = '待查询的英文单词:'
 
 -     title = '查询单词'
 
 -     word = g.enterbox(msg,title)
 
 -     if word == None:
 
 -         pass
 
 -     elif word == '':
 
 -         g.msgbox('您并未输入单词,请重新输入!','Warning','确定')
 
 -         search(Mydict)
 
 -     elif word in Mydict:
 
 -         msg1 = word + '的释义如下:'
 
 -         title1 = title + ':' + word
 
 -         text1 = Mydict[word]
 
 -         g.textbox(msg1,title1,text1)
 
 -     else:
 
 -         try:
 
 -             choice = g.buttonbox(word + '在字典中并不存在,是否加入字典?',choices = ('Yes','No'))
 
 -             if choice == 'Yes':
 
 -                 add_word(Mydict,values = [word,])
 
 -             else:
 
 -                 pass
 
  
-         except TypeError:
 
 -             pass
 
 -     
 
  
 
- def main():
 
 -     filename = 'Mydict_binary.pkl'
 
 -     try:
 
 -         Mydict = load_data(filename)
 
 -     except FileNotFoundError:
 
 -         Mydict = dict()
 
 -         save_data(filename,Mydict)
 
 -     flag = welcome()
 
 -     if flag == None:
 
 -         sys.exit()
 
 -     while True:
 
 -         choice = menu()
 
 -         if choice == '显示字典':
 
 -             display(Mydict)
 
 -         if choice == '添加单词':
 
 -             Mydict = add_word(Mydict)
 
 -             save_data(filename,Mydict)
 
 -         if choice == '删除单词':
 
 -             Mydict = del_word(Mydict)
 
 -             save_data(filename,Mydict)
 
 -         if choice == '查询单词':
 
 -             search(Mydict)
 
 -         if choice == None or choice == '退出':
 
 -             sys.exit()
 
 -         
 
 -     
 
 -     
 
 - main()
 
 
  复制代码 
easygui的字体比较丑,显示字位置居中不会调,界面待优化,欢迎界面优化的意见~~ |   
 
 
 
 |