查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善

简介: 查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善

查找首字母与Python相关的的英文词汇的小程序的进一步完善
本人是Python学习爱好者,菜鸟。昨天编了一个针对Python相关的英文词汇的单纯查询的小程序,后来在完善字典的时候,突然感觉不如再设计一个添加的模块功能,既然有添加了,也应该有删除。于是开始动手实践,编程最大的收获应该是反复调试程序和修正思路的过程中所学到的知识。话不多说,我把源程序代码分享一下:

编程思路如下:

  1. 利用首字母(26个英文字母)查找相关的Python英文词汇。比方说以a开头的,有“【‘appearance外表’, ‘assert/assertion异常’, ‘add添加’, ‘args/argument参数’, ‘attribute/attr属性’】”。
  2. 生成一个字典,以首字母为键(首字母小写),以词汇列表为值。
  3. 定义根据首字母查询词汇的函数。
  4. 定义添加词汇条目的函数。
  5. 定义删除指定词汇条目的函数。
  6. 设计主界面

源码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/6/22 4:20 PM
# 文件      :查询添加.py
# IDE      :PyCharm

# 创立英文词汇字典
Python_dict = {
   'a':['appearance外表', 'assert/assertion异常',' add添加', 'args/argument参数', 'attribute/attr属性'],
               'b':['==byte==字节、位组、位元组', 'bool布尔类型', 'bug故障(虫子)', 'break突破/跳出'],
               'c':['cmd/command命令', 'close关闭', 'column列', 'char字符类型', 'class类', 'create创建', 'continue继续', 'case情形',\
                    'capitalize用大写字母或印刷', 'copy复制', 'clear清除', 'coding编码', 'character字符', 'count计数', 'comma引号'],
               'd':['demo演示', 'division除法', 'downloads下载', 'define定义', 'decode解码', 'depth深度', 'default默认', 'dict字典',\
                    'difference差数', 'discord丢弃', 'del/delete删除', 'data数据'],
               'e':['exception异常', 'editor编辑', 'exit退出', 'extends延长,推广,继承', 'encode编码', 'even偶数', 'execute执行',\
                    'expression表达式', 'extend扩展', 'error错误', 'end结果'],
               'f':['finally最后', 'float浮点型', 'factorial阶乘的,因子', 'find查找', 'flush冲刷', 'function方法/函数', 'format格式化',\
                    'file文件'],
               'g':['global全局变量', 'group组'],
               'h':['height高度'],
               'i':['int整型', 'interpret解释', 'interpreter解释器', 'instance实例,情况', 'install安装', 'indentation缩进',\
                    'ignore case或略大小写', 'inside内部', 'info信息', 'infinite无穷', 'import导入', 'item项', 'intersection相交/交叉',\
                    'insert插入', 'input输入', 'invalid无效', 'identifier名称/标识符', 'iterable可迭代对象', 'index索引'],
               'j':[''],
               'k':['kwargs关键字参数', 'key键'],
               'l':['local局部作用域', 'long长整型', '==login==登录', 'list列表', 'lower小写', 'less小于'],
               'm':['main主要的', 'match匹配', 'missing丢失', 'module模块', 'mapping映射', 'max最大', 'min最小'],
               'n':[''],
               'o':['outside外部', 'object对象'],
               'p':['private私有的', 'public公共的/公用的', 'perimeter周长', 'params参数', 'power幂', 'positional位置的', 'prompt提示',\
                    'pop取出/弹出', 'path路径', 'project项目', 'print打印输出'],
               'q':['quit退出', 'quotation引用'],
               'r':['==rename==重命名', 'result结果', 'row行', 'random随机的', 'run运行/跑', 'reset重新设置', 'radius半径', 'regular规则',\
                    'recursion递归', 'required必须', 'range范围', 'remove移除', 'reverse反向', 'replace替换'],
               's':['scripts脚本', 'self自身', 'search查找', 'salary薪水', 'switch判断语句', 'string字符串类型', 'successful成功', 'search查询',\
                    'square平方', 'system系统', 'step步长', 'sep/separate分隔', 'seq/sequence序列', 'swap互换', 'subset子集', 'sub附属',\
                    'superset父集/超集', 'symmetric对称', 'set集合', 'setting设置', 'sort排序', 'strip去除', 'syntax语法', 'start开始'],
               't':['try尝试', 'type类型', 'test测试', 'True真', 'tuple元组', 'title标题'],
               'u':['unexpected不期望的', 'unicode万国码/统一字符标准', 'union联合', 'unsupported不支持的', 'update更新', 'upgrade升级','upper上面'],
               'v':['==variables==变量', 'version版本', 'void空的/没有返回值的', 'value值', 'versus/vs.对抗/相对的'],
               'w':['window窗口', 'width宽度', 'weight重量'],
               'x':[''],
               'y':['yield生产/生成'],
               'z':['zip解压/拉链']}

# 导入模块,为了生成一个csv格式文件,然后便于后续操作
import csv

# 定义一个查找函数
def find_Word(letter):
     with open('python_dict.csv', mode='r') as fr:
        reader = csv.reader(fr, delimiter = ',')
        for row in reader:
            if row[0] == letter:
                print(f'您要查找的{letter}相关词汇如下:'+'\n',row[1])
                break
        else:
                print('No found!')

        fr.close()


# 定义一个添加词汇的函数
def add_Word(letter, words):
    dict_words1 = final_csv()
    # 在字典内遍历所查找的词条首字母
    for key in dict_words1.keys():
        if letter == key:
            dict_words1[letter].append(words)
            # 调用修改后的字典生成csv文件的函数

            with open('python_dict.csv', mode = 'w', newline='') as ft:
                writer = csv.writer(ft, delimiter = ',')
                for key in dict_words1.keys():
                    writer.writerow([key, dict_words1[key]])

    print(f'您已成功添加{words}词条')
    ft.close()

# 定义一个删除条目函数
def del_Word(letter, words):
    # 把现有的csv文件导出到一个临时的字典
    dict_words1 = final_csv()
    # 在字典内遍历所查找的词条首字母
    for key in dict_words1.keys():
        if letter == key:
            dict_words1[letter].remove(words)
            # 调用修改后的字典生成csv文件的函数
            with open('python_dict.csv', mode = 'w', newline='') as fd:
                writer = csv.writer(fd, delimiter = ',')
                for key in dict_words1.keys():
                  writer.writerow([key, dict_words1[key]])
    print(f'您已成功删除{words}词条')
    fd.close()

# 定义一个输入首字母函数
def input_letter():
    try:
        letter1 = input('Please enter an initial letter of the word that you want to find:').lower()
        return letter1
    except:
        print('请核实输入内容!')

# 定义一个添加词条的输入函数
def input_words():
    try:
        words = input('Please enter the words to be added: ')
        return words
    except:
        print('请核实输入内容!')

# 定义一个删除词条的输入函数
def input_words_del():
    try:
        words = input('Please enter the words to be deleted: ')
        return words
    except:
        print('请核实输入内容!')

# 定义一个询问函数
def ask_question():
    question = input('Do you want to quit?(q)').lower()
    if question == 'q' or question == 'quit':
        return False

# 定义一个主函数
def main():
    print('\n')
    print('  Python相关英文词汇(查询-添加-删除)程序')
    print('-'*40)
    print('  1. 查 询\n  2. 添 加\n  3. 删 除\n  4. 退 出')
    print('-'*40)

# 定义一个操作函数operation
def operation():
    main()
    choice = int(input('请输入选项:(1,2,3,4)'))
    done = True
    while done:
        if choice == 1:
            letter1 = input_letter()
            find_Word(letter1)
            # 调用询问函数,是否退出当前操作
            done = ask_question()

        elif choice == 2:
            letter1 = input_letter()
            words1 = input_words()
            add_Word(letter1, words1)
            # 调用询问函数,是否退出当前操作
            done = ask_question()

        elif choice == 3:
            letter1 = input_letter()
            words1 = input_words_del()
            del_Word(letter1, words1)
            # 调用询问函数,是否退出当前操作
            done = ask_question()
        elif choice == 4:
            break

# 定义一个最后的整理函数
def final_csv():
    py_dict = {
   }
    with open('python_dict.csv', mode='r') as f:
        reader = csv.reader(f, delimiter=',')
        for row in reader:
            # 把读出来的csv文件内容转成列表
            row_lst = row[1].strip('[]').replace('\'', '').split(',')
            # 临时创建一个空列表,添加去掉空格的内容
            row1 = []
            for i in row_lst:
                # 去掉列表中内容的前空格
                row1.append(i.strip(' '))
            py_dict[row[0]] = row1
    f.close()

    with open('python_dict.csv', mode='w') as fw:
        writer = csv.writer(fw, delimiter=',')
        for key in py_dict.keys():
            writer.writerow([key, py_dict[key]])
    return py_dict
    fw.close()

# 启动程序
if __name__ == '__main__':
    operation()
    final_csv()

效果如下图:

§ 主界面:
image.png

§ 查询功能
image.png

§ 添加功能

§ 删除功能

§ 退出功能

image.png

总 结

利用字典生成的csv文件,如果感兴趣的可以导出电子表格文件,可以自行试试,不再赘述。此小程序可以修改查找任何相关的命令集,比如Linux,Windows,mac系统等命令。

相关文章
|
20小时前
|
前端开发 Go Python
Python tricksUnderscores, Dunders, and More续篇
Python tricksUnderscores, Dunders, and More续篇
|
23小时前
|
缓存 监控 程序员
Python装饰器:深入探索功能增强的神奇工具(特点+应用+举例)
Python装饰器:深入探索功能增强的神奇工具(特点+应用+举例)
5 0
|
1天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
6 0
|
1天前
|
开发者 Python
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
5 0
|
1天前
|
iOS开发 MacOS Python
Python 编程案例:谁没交论文?输出并生成电子表格
Python 编程案例:谁没交论文?输出并生成电子表格
16 9
|
1天前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
10 3
|
1天前
|
文件存储 iOS开发 MacOS
Python编程案例:文件查找并归类
Python编程案例:文件查找并归类
|
23小时前
|
Python
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
|
23小时前
|
iOS开发 MacOS Python
Python编程案例:根据姓名归档论文、报告
Python编程案例:根据姓名归档论文、报告
|
1天前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件