我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python字典翻转的实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python字典翻转的实现

第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 dic
if __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 dic
def merge_dic(file1, file2):
    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""
    # 补充你的代码
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def 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 dic
def merge_dic(file1, file2):
    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""
    # 补充你的代码
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def 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 dic
def merge_dic(file1, file2):
    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""
    # 补充你的代码
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def 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_dic
if __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 random
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 dic
def merge_dic(file1, file2):
    """将读取两个文件中获得的字典合并为一个,返回合并后的字典"""
    # 补充你的代码
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def 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_dic
def 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字典翻转的实现的文章就介绍到这了,更多相关python字典翻转内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python字典翻转的实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python字典翻转的实现

本文主要介绍了python字典翻转的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-20

python字典翻转怎么实现

今天小编给大家分享的是python字典翻转怎么实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。第1关 创建大学英语四级单词字典本关任务:编写一个能创建大学英语四级单词字典的小程序。
2023-08-03

python字典的hashtable实现

python字典的key-value原理属于hashtable的范畴。关于hashtable的一篇博客关于python字典实现原理的一篇博客 需要注意的是python字典解决hash冲突的方法为开放地址法,但是采用伪删除的方式避免元素删除后
2023-01-31

css怎么实现字体翻转

本篇内容介绍了“css怎么实现字体翻转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.首先,在页面中创建两个p标签,并添加文字用于对比;<
2023-07-04

Python 字典与字符串的互转实例

字典转换为字符串if __name__ == '__main__':a = {'a' : 1, 'b' : 2, 'c' : 3}b = str(a)print(type(b))输出结果为: ----------
2022-06-04

详解Java如何优雅的实现字典翻译

当我们在Java应用程序中需要对字典属性进行转换返回给前端时,如何简单、方便、并且优雅的处理是一个重要问题。在本文中,我们将介绍如何使用Java中的序列化机制来优雅地实现字典值的翻译,从而简化开发
2023-05-18

php字符串翻转怎么实现

这篇文章主要介绍了php字符串翻转怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php字符串翻转的代码是“strrev(string)”,参数string用于规定要翻
2023-06-20

Android实现文字翻转动画的效果

本文实现了Android程序文字翻转动画的小程序,具体代码如下:先上效果图如下:要求:沿Y轴正方向看,数值减1时动画逆时针旋转,数值加1时动画顺时针旋转。实现动画的具体细节见"RotateAnimation.Java"。为方便查看动画旋转方
2022-06-06

python 字典转对象

class DictToStruct:    def __init__(self, **entries):        self.__dict__.update(entries)struct = DictToStruct(**temp)
2023-01-31

Python处理json字符串转化为字典的简单实现

今天一个朋友给个需求: 来来 {'isOK': 1, 'isRunning': None, 'isError': None} 怎么转换成字典 好,一看就是json转化很简单,开始:import jsona = "{'isOK': 1, '
2022-06-04

python实现class对象转换成json/字典的方法

本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:# -*- encoding: UTF-8 -*- class Student:name = ''age = 0def __init__(
2022-06-04

利用perl、python、php、shell、sed、awk、c 实现字符串的翻转

原题: Q:有a.txt文件,里面内容如下 1234569 abcABCabc 要求使用awk打印出以下结果 987654321 cbaCBAcba A: shell :[root@vps tmp]# rev a.txt 9654321
2022-06-04

python实现字典(dict)和字符串(string)的相互转换方法

本文实例讲述了python实现string和dict的相互转换方法。分享给大家供大家参考,具体如下: 字典(dict)转为字符串(string) 我们可以比较容易的将字典(dict)类型转为字符串(string)类型。 通过遍历dict中的
2022-06-04

python 列表 字典转json

一、Dictionary 转为JSON将dict转为JSON,这里利用包jsonimport jsonaItem = {}aItem["id"] = "2203"aItem["title"] = "title"aItem["subTitle
2023-01-31

python字典嵌套字典实例

日志文件样式:2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] from: , to: 
2023-01-31

python中实现有序字典

我们应该会在实际使用中发现python的字典是无序的,譬如说这样>>> a = {'key1':'a','key2':'b','key3':'c','key4':'d','key5':'e'}>>> a{'key3': 'c', 'key2
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录