IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善 -> 正文阅读

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

    效果如下图:

    § 主界面:

    § 查询功能

    § 添加功能

    § 删除功能

    § 退出功能

    总 结

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:27:16  更:2022-03-10 22:30:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:29:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码