去年自己上pcb老师的python课的时候啥都不懂,写代码难看的一笔,帮学弟写一个python的个人中英翻译记录小词典,虽然技术不是很好,但也花了一点点时间写,功能不多,有错的地方还请各位大佬指出!
主要有增删改查以及退出这五个功能。
我的个人中英翻译记录小词典 | |
输入 | 功能 |
add | 添加 |
delete | 删除 |
modify | 修改 |
search | 查找 |
exit | 退出 |
首先有一个菜单函数,给自己看的功能速查表,哈哈哈哈。
def menu():
print('# ----------我的个人中英翻译记录小词典---------- #')
print('# -----输入-------------------------功能----- #')
print('# -----add-------------------------添加----- #')
print('# -----delete----------------------删除----- #')
print('# -----modify----------------------修改----- #')
print('# -----search----------------------查找----- #')
print('# -----exit------------------------退出----- #')
然后是五个功能的函数,除了退出在主函数中,其余的都单独写出来了。
def add(myDict):
DE = input('请输入英语单词:')
DC = input('请输入中文释义:')
myDict[DE] = DC
save_dict(myDict)
print('已添加单词:' + DE, '中文释义为:' + myDict[DE])
def delete(myDict):
DE = input('请输入要删除的单词:')
if DE not in myDict.keys():
print('尚未添加此单词')
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
input_if = input('请确认是否删除单词 ' + DE + '(yes/no):')
if input_if == 'yes':
del myDict[DE]
save_dict(myDict)
print('已删除单词 ' + DE)
elif input_if == 'no':
print('已取消删除单词 ' + DE)
else:
print('输入有误,请重新输入!!')
def modify(myDict):
DE = input('请输入要修改的单词:')
if DE not in myDict.keys():
print('尚未添加此单词')
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
input_C = input('请输入修改后的中文释义:')
input_if = input('请确认是否修改单词 ' + DE + ' 的意思为 ' + input_C + '(yes/no):')
if input_if == 'yes':
myDict[DE] = input_C
save_dict(myDict)
print('已修改单词 ' + DE + ' 的意思为 ' + input_C)
elif input_if == 'no':
print('已取消修改!')
else:
print('输入有误,请重新输入!!!')
def search(myDict):
DE = input('请输入要找的单词:')
if DE not in myDict.keys():
input_if = input('尚未添加此单词,是否添加该单词(yes/no):')
if input_if == 'yes':
add(myDict)
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
但是这个小词典是要存到我们本地的,不然只是一次性的小词典了,词典以txt的形式保存在代码的相同目录下,文件名为dict,也可以修改,考虑到刚开始使用是没有这个文件的,所以在代码中有自动创建的功能,下面是代码。
def load_dict(myDict):
file_path = r'dict.txt'
if not os.path.exists(file_path):
wf = open(file_path, 'w')
wf.close()
rf = open(file_path, 'r')
lines = rf.readlines()
for line in lines:
myData = line.strip('\n').split(':')
myDict[myData[0]] = myData[1]
rf.close()
光有一个加载文件的函数怎么够呢,当然得有一个随时能保存数据到文件里的函数喽。
def save_dict(myDict):
file_path = r'dict.txt'
wf = open(file_path, 'w')
for k, v in myDict.items():
wf.write(str(k) + ':' + str(v) + '\n')
wf.close()
最后就是用一个主函数让这些功能运作起来!!!
if __name__ == '__main__':
while True:
menu()
EnglishDict = {}
load_dict(EnglishDict)
input_ = input("请输入你要干嘛:")
if input_ == 'search':
search(EnglishDict)
elif input_ == 'add':
add(EnglishDict)
elif input_ == 'delete':
delete(EnglishDict)
elif input_ == 'modify':
modify(EnglishDict)
elif input_ == 'exit':
print('已退出!')
break
else:
print('输入有误,请重新输入!!!')
尽管python很简单,但新手入门也是需要时间的,多看代码并且自己动手实际操作有较大帮助。这里放上全部的代码。
import os
def load_dict(myDict):
file_path = r'dict.txt'
if not os.path.exists(file_path):
wf = open(file_path, 'w')
wf.close()
rf = open(file_path, 'r')
lines = rf.readlines()
for line in lines:
myData = line.strip('\n').split(':')
myDict[myData[0]] = myData[1]
rf.close()
def save_dict(myDict):
file_path = r'dict.txt'
wf = open(file_path, 'w')
for k, v in myDict.items():
wf.write(str(k) + ':' + str(v) + '\n')
wf.close()
def menu():
print('# ----------我的个人中英翻译记录小词典---------- #')
print('# -----输入-------------------------功能----- #')
print('# -----add-------------------------添加----- #')
print('# -----delete----------------------删除----- #')
print('# -----modify----------------------修改----- #')
print('# -----search----------------------查找----- #')
print('# -----exit------------------------退出----- #')
def add(myDict):
DE = input('请输入英语单词:')
DC = input('请输入中文释义:')
myDict[DE] = DC
save_dict(myDict)
print('已添加单词:' + DE, '中文释义为:' + myDict[DE])
def search(myDict):
DE = input('请输入要找的单词:')
if DE not in myDict.keys():
input_if = input('尚未添加此单词,是否添加该单词(yes/no):')
if input_if == 'yes':
add(myDict)
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
def delete(myDict):
DE = input('请输入要删除的单词:')
if DE not in myDict.keys():
print('尚未添加此单词')
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
input_if = input('请确认是否删除单词 ' + DE + '(yes/no):')
if input_if == 'yes':
del myDict[DE]
save_dict(myDict)
print('已删除单词 ' + DE)
elif input_if == 'no':
print('已取消删除单词 ' + DE)
else:
print('输入有误,请重新输入!!')
def modify(myDict):
DE = input('请输入要修改的单词:')
if DE not in myDict.keys():
print('尚未添加此单词')
else:
print('单词 ' + DE + ' 的中文释义是:', myDict[DE])
input_C = input('请输入修改后的中文释义:')
input_if = input('请确认是否修改单词 ' + DE + ' 的意思为 ' + input_C + '(yes/no):')
if input_if == 'yes':
myDict[DE] = input_C
save_dict(myDict)
print('已修改单词 ' + DE + ' 的意思为 ' + input_C)
elif input_if == 'no':
print('已取消修改!')
else:
print('输入有误,请重新输入!!!')
if __name__ == '__main__':
while True:
menu()
EnglishDict = {}
load_dict(EnglishDict)
input_ = input("请输入你要干嘛:")
if input_ == 'search':
search(EnglishDict)
elif input_ == 'add':
add(EnglishDict)
elif input_ == 'delete':
delete(EnglishDict)
elif input_ == 'modify':
modify(EnglishDict)
elif input_ == 'exit':
print('已退出!')
break
else:
print('输入有误,请重新输入!!!')
程序员节要对自己好一点,喜欢给个一键三连哦~