查找首字母与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系统等命令。

相关文章
|
4天前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
7天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第35天】装饰器在Python中是一种强大的工具,它允许开发者在不修改原有函数代码的情况下增加额外的功能。本文旨在通过简明的语言和实际的编码示例,带领读者理解装饰器的概念、用法及其在实际编程场景中的应用,从而提升代码的可读性和复用性。
|
12天前
|
设计模式 缓存 测试技术
Python中的装饰器:功能增强与代码复用的艺术####
本文将深入探讨Python中装饰器的概念、用途及实现方式,通过实例演示其如何为函数或方法添加新功能而不影响原有代码结构,从而提升代码的可读性和可维护性。我们将从基础定义出发,逐步深入到高级应用,揭示装饰器在提高代码复用性方面的强大能力。 ####
|
13天前
|
缓存 测试技术 数据安全/隐私保护
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第29天】本文通过深入浅出的方式,探讨了Python装饰器的概念、使用场景和实现方法。文章不仅介绍了装饰器的基本知识,还通过实例展示了如何利用装饰器优化代码结构,提高代码的可读性和重用性。适合初学者和有一定经验的开发者阅读,旨在帮助读者更好地理解和应用装饰器,提升编程效率。
|
20天前
|
开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第22天】在Python的世界里,装饰器是一个强大的工具,它能够让我们以简洁的方式修改函数的行为,增加额外的功能而不需要重写原有代码。本文将带你了解装饰器的基本概念,并通过实例展示如何一步步构建自己的装饰器,从而让你的代码更加高效、易于维护。
|
16天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
22天前
|
开发框架 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第20天】在编程的海洋中,简洁与强大是航行的双桨。Python的装饰器,这一高级特性,恰似海风助力,让代码更优雅、功能更强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一步步深入其内涵与意义。
|
数据采集 人工智能 网络协议
Python必知词汇:Python
Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良的LISP。Python的设计哲学强调代码的可读性和简洁的语法。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
343 0
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!