目录

第1关 创建大学英语四级单词字典

第2关 合并大学英语四六级词汇字典

第3关 查单词输出中文释义

第4关 删除字典中特定字母开头的单词

第5关 单词英汉记忆训练


第1关 创建大学英语四级单词字典

本关任务:编写一个能创建大学英语四级单词字典的小程序。

测试输入: 10

预期输出: [('African', 'a.非洲的 n.非洲人'), ('Arabian', 'a.阿拉伯的'), ('Atlantic', 'a.大西洋的 n.大西洋'), ('August', 'n.八月'), ('Australia', 'n.澳大利亚'), ('Australian', 'a.澳大利亚的'), ('B.C.', '(缩)公元前'), ('Bible', 'n.基督教《圣经》'), ('Britain', 'n.不列颠,英国'), ('British', 'a.不列颠的,英联邦的')]

def create_dict(file):"""接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。返回字典。"""# 在下面一行补充代码,创建一个空字典dic = {}                                                   # 创建空字典with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象for x in data:                                 # 遍历文件对象word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开# 补充程序,列表的首个元素作为字典的键,第二个元素做字典的值,加入字典中,返回这个字典dic.update({word:trans})    return dicif __name__ == '__main__':filename = '/data/bigfiles/cet4.txt'n = int(input())                     # 输入一个正整数cet_dict = create_dict(filename)     # 调用函数,返回字典类型数据# 在下面补充语句,根据字典的键对字典进行排序,得到排序的列表,输出列表前n项print([x for x in sorted(cet_dict.items())][:n])

第2关 合并大学英语四六级词汇字典

本关任务:编写一个能将大学英语四级、六级词汇合并为一个字典的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。 cet4.txt cet6.txt

编程要求

根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。输入一个正整数n,输出所创建字典排序后的前n项。

def create_dict(file):"""接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。返回字典。"""# 补充你的代码dic = {}                                                   # 创建空字典with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象for x in data:                                 # 遍历文件对象word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开dic.update({word:trans})    return dicdef merge_dic(file1, file2):"""将读取两个文件中获得的字典合并为一个,返回合并后的字典"""# 补充你的代码dict1 = create_dict(file1)dict2 = create_dict(file2)dict3 = dict1 | dict2return dict3def sort_dic(cet_dic, n):"""根据字典的键对字典进行排序,得到排序的列表,返回列表前n项"""# 补充你的代码return [x for x in sorted(cet_dict.items())][:n]if __name__ == '__main__':filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名num = int(input())  # 输入一个正整数cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据print(sort_dic(cet_dict, num))  # 输出排序后列表前n项

第3关 查单词输出中文释义

本关任务:编写一个能查询单词中文释义的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。输入一个单词,查询并输出对应的释义,单词在字典中不存在时,输出'单词不存在'。

def create_dict(file):"""接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。返回字典。"""# 补充你的代码dic = {}                                                   # 创建空字典with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象for x in data:                                 # 遍历文件对象word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开dic.update({word:trans})    return dicdef merge_dic(file1, file2):"""将读取两个文件中获得的字典合并为一个,返回合并后的字典"""# 补充你的代码dict1 = create_dict(file1)dict2 = create_dict(file2)dict3 = dict1 | dict2return dict3def translate(cet_dic, word):"""接收两个参数,第一个是读文件创建的字典,第二个参数为要查询的单词,字符串根据文件创建的字典,从中查询单词word,如果查询单词存在,元组形式返回词与词的释义;如果查询不存在,返回'单词不存在'"""# 补充你的代码if word in cet_dic:return word,cet_dic[word]else:return word,'单词不存在'if __name__ == '__main__':filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名word = input()  # 输入一个单词cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据result = translate(cet_dict, word)print('{}: {}'.format(*result))

第4关 删除字典中特定字母开头的单词

本关任务:编写一个能删除字典中特定字母开头的单词的小程序。

小明同学在准备参加大学英语四六级考试,为了督促自己背单词,他决定自己写一个背单词的程序。根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。删除字典中特定字母开头的单词(首字母不区分大小写),输出删除后字典长度。

def create_dict(file):"""接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。返回字典。"""# 补充你的代码dic = {}                                                   # 创建空字典with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象for x in data:                                 # 遍历文件对象word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开dic.update({word:trans})    return dicdef merge_dic(file1, file2):"""将读取两个文件中获得的字典合并为一个,返回合并后的字典"""# 补充你的代码dict1 = create_dict(file1)dict2 = create_dict(file2)dict3 = dict1 | dict2return dict3def del_words(cet_dic, letter):"""删除字典中首字母与参数letter相同的单词,返回删除后的字典"""# 补充你的代码list1 = [x for x in cet_dic]for i in range(len(list1)):if list1[i][0].lower() == letter:cet_dic.pop(list1[i])return cet_dicif __name__ == '__main__':filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名alphabet = input().lower()             # 输入一个字母cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据result = del_words(cet_dict, alphabet)  # 删除特定单词后的字典print(len(result))                      # 输出字典长度

第5关 单词英汉记忆训练

编程要求

根据提示,在右侧编辑器补充代码,读取数据集中的四级单和六级词文件,以单词为键,以中文解释为值,将两个文件中的数据创建为一个字典。用户输入一个字母,用这个字母的ASCII值为随机数种子,随机抽取这个字母开头的单词(首字母不区分大小写)进行记忆训练,用户填写词义,用户输入的词义在释义中存在时认为回答正确,此时输出当前词全部释义;输入错误时,记录该单词信息到错词字典;用户直接输入回车时结束训练,并输出正确率并输出全部出错单词的信息。

import randomdef create_dict(file):"""接收表示文件名的字符串参数,读文件中的单词及释义,以单词为键,其他部分为值创建字典。多个释义间可能是逗号或空格分隔,但单词与第一个释义间至少有一个空格,将文件每一行根据空格切分一次,切分结果分别作为键和值创新字典。返回字典。"""# 补充你的代码dic = {}                                                   # 创建空字典with open(file, 'r', encoding='utf-8') as data:    # 打开文件,以读模式创建文件对象for x in data:                                 # 遍历文件对象word, trans = x.strip().split(maxsplit=1)  # 每行根据空格切分为列表,只切分一次,将单词与释义分开# 补充程序,列表的首个元素作为字典的键,第二个元素做字典的值,加入字典中,返回这个字典dic.update({word:trans})    return dicdef merge_dic(file1, file2):"""将读取两个文件中获得的字典合并为一个,返回合并后的字典"""# 补充你的代码dict1 = create_dict(file1)dict2 = create_dict(file2)dict3 = dict1 | dict2return dict3def training(cet_dic, letter):"""输入一个字母,返回以这个字母开头的词汇的字典(不区分大小写),用于单词记忆训练"""# 补充你的代码list1 = [x for x in cet_dic]for i in range(len(list1)):if list1[i][0].lower() != letter:cet_dic.pop(list1[i])return cet_dicdef en_to_ch(train_dic):"""从训练字典中随机抽取以某个字母开头的单词,用户填写词义回答正确时,输出当前词全部释义,输入错误时,记录该单词信息,直接输入回车时结束输入,训练结束后输出全部出错单词的信息"""# 创建空字典,用于容纳答错单词dic1 = {}while True:  # 无限循环用于一次训练记忆多个单词word = random.choice(list(train_dic.keys()))   # 从字典的键中随机抽取一个单词print(f'请输入单词{word}的中文翻译:')           # 输出提示语句answer = input()                               # 输入当前单词的语义if not answer:                                 # 直接回车时输入为空,结束循环print('训练结束!')break# 补充你的程序,如果输入在释义中存在,输出完整释义,否则输出'答案错误'并将当前单词加入答错单词字典elif answer in train_dic[word]:print(f'{word}的释义为:{train_dic[word]}')elif answer not in train_dic[word]:print('答案错误')dic1[word] = train_dic[word]print('需要加强记忆的单词:')# 补充代码,逐个输出答错字典中的单词和释义for i in dic1:print(f'{i}:{dic1[i]}')if __name__ == '__main__':filename1 = '/data/bigfiles/cet4.txt'  # 数据文件名filename2 = '/data/bigfiles/cet6.txt'  # 数据文件名alphabet = input('输入今天训练单词首字母:\n').lower()random.seed(ord(alphabet))             # 用当前字典的ASCII值做随机数种子,方便评测cet_dict = merge_dic(filename1, filename2)  # 调用函数,返回字典类型数据train_dict = training(cet_dict, alphabet)   # 本次训练单词的字典en_to_ch(train_dict)                        # 调用函数进行训练

python字典翻转教学相关推荐

  1. python集合翻转教学

    目录 第1关:统计小说单词数量 第2关 统计小说中不重复单词数量 第3关 列表去掉重复元素后保持各元素出现的先后次序不变 第4关 输出两本小说中共存的单词数量 第5关 输出两本小说中出现的所有单词数量 ...

  2. (13)python 字典 2 分钟速解

    本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题.此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将 ...

  3. 如何使用python编程、字典中的get是什么_详细解析python字典get()实例教程

    对于程序员而言,了解更多的算法,对自己的程序完善是非常有意义的,关于Get方法有小伙伴了解是如何使用吗?不了解的小编已为大家整理,一起来看下吧~ get()函数简介 get()是查找并返回字典中的某个 ...

  4. python字典常用操作方法,python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  5. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  6. python 字典 的pop 方法

    python 字典pop 方法的作用: 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值 字典pop 的语法: pop(key[,default]) demo 练习字典po ...

  7. python字典一键多值_python字典中如何一键多值的写入?

    python字典中如何一键多值的写入? python字典中一键多值写入的方法: 1.循环写入字典key.value.删除指定的键值对: 原文本'jp_url.txt'每行元素以逗号分隔:host_ke ...

  8. python字典{:4}_Python字典101:详细的视觉介绍

    python字典{:>4} 欢迎 (Welcome) In this article, you will learn how to work with Python dictionaries, ...

  9. Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

最新文章

  1. 免费正则表达式辅助工具(转)
  2. 华为AR28-31配置光纤接入
  3. Application Virtualization 4.5 部署之(三)(
  4. C语言实现克鲁斯卡尔Kruskal算法求最小生成树(附完整源码)
  5. SAP Spartacus SpartacusB2cConfigurationModule 的使用场景
  6. 九大经典算法之基数排序、桶排序
  7. GDAL C#版本 安全透明方法问题解决方案
  8. javascript学习----window对象的学习与总结
  9. NI Multisim 14.0蜂鸣器为什么不响_Multisim软件操作介绍及记分电路的绘制
  10. Word控件Spire.Doc 转换教程(三):如何将 Word 转换为 PDF
  11. Ceres Solver:从入门到使用
  12. Win10不能访问共享硬盘怎么办
  13. PMP®项目管理|项目干系人如何管理?
  14. accumulate函数
  15. jQuery制作手风琴
  16. 怎么建立软连接和删除软连接、宏定义个声明一年有多少秒、关于自定义函数类型指针
  17. 紫外测试样品要求及测试步骤
  18. 常用的企业管理软件有哪些?
  19. 分享网页相关好用小工具
  20. OGNL表达式语言介绍

热门文章

  1. Ubuntu服务器使用active-backup模式进行网口绑定
  2. java 热词推荐搜索实现,一个热词推荐的简单实现
  3. w ndows7防火墙文件名,【软媒编译】功能进化 - Windows 7中的防火墙
  4. apache 基金会 project 概述
  5. 虚拟机安装window xp问题总结
  6. 【Bug】jupyter notebook运行一直显示:kernel starting,please wait(Ubuntu)
  7. 怎么在浏览器网站前添加图标(图片)
  8. 哈工大 csapp lab5
  9. Ubuntu 桌面视频录制与格式转换
  10. CRM客户关系管理系统修改(十四)