查找首字母与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月前
|
SQL 安全 算法
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
Python 3.14 引入了七大核心技术特性,大幅提升开发效率与应用安全性。其中包括:t-strings(PEP 750)提供更安全灵活的字符串处理;类型注解惰性求值(PEP 649)优化启动性能;外部调试器API标准化(PEP 768)增强调试体验;原生支持Zstandard压缩算法(PEP 784)提高效率;REPL交互环境升级更友好;UUID模块扩展支持新标准并优化性能;finally块语义强化(PEP 765)确保资源清理可靠性。这些改进使Python在后端开发、数据科学等领域更具竞争力。
174 5
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
|
8月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
221 7
|
8月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
9月前
|
存储 小程序 Python
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序
### 农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序 该程序通过`lunardate`库实现公历与农历的日期转换,支持闰月和跨年处理,用户输入农历节日名称后,可准确计算距离该节日还有多少天。功能包括农历节日查询、倒计时计算等。欢迎使用! (239字符)
475 86
|
7月前
|
人工智能 搜索推荐 测试技术
通义灵码 2.0 智能编码功能评测:Deepseek 加持下的 Python 开发体验
通义灵码 2.0 智能编码功能评测:Deepseek 加持下的 Python 开发体验
289 11
|
7月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2121 12
|
6月前
|
SQL 关系型数据库 数据库连接
|
9月前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
5月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
375 12
|
8月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
260 0

热门文章

最新文章

推荐镜像

更多