最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python字典翻轉(zhuǎn)的實(shí)現(xiàn)

 更新時(shí)間:2023年06月14日 10:12:17   作者:NDWJL  
本文主要介紹了python字典翻轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

第1關(guān) 創(chuàng)建大學(xué)英語四級(jí)單詞字典

本關(guān)任務(wù):編寫一個(gè)能創(chuàng)建大學(xué)英語四級(jí)單詞字典的小程序。

測(cè)試輸入: 10

預(yù)期輸出: [('African', 'a.非洲的 n.非洲人'), ('Arabian', 'a.阿拉伯的'), ('Atlantic', 'a.大西洋的 n.大西洋'), ('August', 'n.八月'), ('Australia', 'n.澳大利亞'), ('Australian', 'a.澳大利亞的'), ('B.C.', '(縮)公元前'), ('Bible', 'n.基督教《圣經(jīng)》'), ('Britain', 'n.不列顛,英國(guó)'), ('British', 'a.不列顛的,英聯(lián)邦的')]

def create_dict(file):
    """接收表示文件名的字符串參數(shù),讀文件中的單詞及釋義,以單詞為鍵,其他部分為值創(chuàng)建字典。
    多個(gè)釋義間可能是逗號(hào)或空格分隔,但單詞與第一個(gè)釋義間至少有一個(gè)空格,
    將文件每一行根據(jù)空格切分一次,切分結(jié)果分別作為鍵和值創(chuàng)新字典。
    返回字典。
    """
    # 在下面一行補(bǔ)充代碼,創(chuàng)建一個(gè)空字典
    dic = {}                                                   # 創(chuàng)建空字典
    with open(file, 'r', encoding='utf-8') as data:    # 打開文件,以讀模式創(chuàng)建文件對(duì)象
        for x in data:                                 # 遍歷文件對(duì)象
            word, trans = x.strip().split(maxsplit=1)  # 每行根據(jù)空格切分為列表,只切分一次,將單詞與釋義分開
            # 補(bǔ)充程序,列表的首個(gè)元素作為字典的鍵,第二個(gè)元素做字典的值,加入字典中,返回這個(gè)字典
            dic.update({word:trans})    
        return dic
if __name__ == '__main__':
    filename = '/data/bigfiles/cet4.txt'
    n = int(input())                     # 輸入一個(gè)正整數(shù)
    cet_dict = create_dict(filename)     # 調(diào)用函數(shù),返回字典類型數(shù)據(jù)
    # 在下面補(bǔ)充語句,根據(jù)字典的鍵對(duì)字典進(jìn)行排序,得到排序的列表,輸出列表前n項(xiàng)
    print([x for x in sorted(cet_dict.items())][:n])

第2關(guān) 合并大學(xué)英語四六級(jí)詞匯字典 

本關(guān)任務(wù):編寫一個(gè)能將大學(xué)英語四級(jí)、六級(jí)詞匯合并為一個(gè)字典的小程序。

小明同學(xué)在準(zhǔn)備參加大學(xué)英語四六級(jí)考試,為了督促自己背單詞,他決定自己寫一個(gè)背單詞的程序。 cet4.txt cet6.txt

編程要求

根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,讀取數(shù)據(jù)集中的四級(jí)單和六級(jí)詞文件,以單詞為鍵,以中文解釋為值,將兩個(gè)文件中的數(shù)據(jù)創(chuàng)建為一個(gè)字典。輸入一個(gè)正整數(shù)n,輸出所創(chuàng)建字典排序后的前n項(xiàng)。

def create_dict(file):
    """接收表示文件名的字符串參數(shù),讀文件中的單詞及釋義,以單詞為鍵,其他部分為值創(chuàng)建字典。
    多個(gè)釋義間可能是逗號(hào)或空格分隔,但單詞與第一個(gè)釋義間至少有一個(gè)空格,
    將文件每一行根據(jù)空格切分一次,切分結(jié)果分別作為鍵和值創(chuàng)新字典。
    返回字典。
    """
    # 補(bǔ)充你的代碼
    dic = {}                                                   # 創(chuàng)建空字典
    with open(file, 'r', encoding='utf-8') as data:    # 打開文件,以讀模式創(chuàng)建文件對(duì)象
        for x in data:                                 # 遍歷文件對(duì)象
            word, trans = x.strip().split(maxsplit=1)  # 每行根據(jù)空格切分為列表,只切分一次,將單詞與釋義分開
            dic.update({word:trans})    
        return dic
def merge_dic(file1, file2):
    """將讀取兩個(gè)文件中獲得的字典合并為一個(gè),返回合并后的字典"""
    # 補(bǔ)充你的代碼
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def sort_dic(cet_dic, n):
    """根據(jù)字典的鍵對(duì)字典進(jìn)行排序,得到排序的列表,返回列表前n項(xiàng)"""
    # 補(bǔ)充你的代碼
    return [x for x in sorted(cet_dict.items())][:n]
if __name__ == '__main__':
    filename1 = '/data/bigfiles/cet4.txt'  # 數(shù)據(jù)文件名
    filename2 = '/data/bigfiles/cet6.txt'  # 數(shù)據(jù)文件名
    num = int(input())  # 輸入一個(gè)正整數(shù)
    cet_dict = merge_dic(filename1, filename2)  # 調(diào)用函數(shù),返回字典類型數(shù)據(jù)
    print(sort_dic(cet_dict, num))  # 輸出排序后列表前n項(xiàng)

第3關(guān) 查單詞輸出中文釋義

本關(guān)任務(wù):編寫一個(gè)能查詢單詞中文釋義的小程序。

小明同學(xué)在準(zhǔn)備參加大學(xué)英語四六級(jí)考試,為了督促自己背單詞,他決定自己寫一個(gè)背單詞的程序。根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,讀取數(shù)據(jù)集中的四級(jí)單和六級(jí)詞文件,以單詞為鍵,以中文解釋為值,將兩個(gè)文件中的數(shù)據(jù)創(chuàng)建為一個(gè)字典。輸入一個(gè)單詞,查詢并輸出對(duì)應(yīng)的釋義,單詞在字典中不存在時(shí),輸出'單詞不存在'。

def create_dict(file):
    """接收表示文件名的字符串參數(shù),讀文件中的單詞及釋義,以單詞為鍵,其他部分為值創(chuàng)建字典。
    多個(gè)釋義間可能是逗號(hào)或空格分隔,但單詞與第一個(gè)釋義間至少有一個(gè)空格,
    將文件每一行根據(jù)空格切分一次,切分結(jié)果分別作為鍵和值創(chuàng)新字典。
    返回字典。
    """
    # 補(bǔ)充你的代碼
    dic = {}                                                   # 創(chuàng)建空字典
    with open(file, 'r', encoding='utf-8') as data:    # 打開文件,以讀模式創(chuàng)建文件對(duì)象
        for x in data:                                 # 遍歷文件對(duì)象
            word, trans = x.strip().split(maxsplit=1)  # 每行根據(jù)空格切分為列表,只切分一次,將單詞與釋義分開
            dic.update({word:trans})    
        return dic
def merge_dic(file1, file2):
    """將讀取兩個(gè)文件中獲得的字典合并為一個(gè),返回合并后的字典"""
    # 補(bǔ)充你的代碼
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def translate(cet_dic, word):
    """接收兩個(gè)參數(shù),第一個(gè)是讀文件創(chuàng)建的字典,第二個(gè)參數(shù)為要查詢的單詞,字符串
    根據(jù)文件創(chuàng)建的字典,從中查詢單詞word,
    如果查詢單詞存在,元組形式返回詞與詞的釋義;
    如果查詢不存在,返回'單詞不存在'
    """
    # 補(bǔ)充你的代碼
    if word in cet_dic:
        return word,cet_dic[word]
    else:
        return word,'單詞不存在'
if __name__ == '__main__':
    filename1 = '/data/bigfiles/cet4.txt'  # 數(shù)據(jù)文件名
    filename2 = '/data/bigfiles/cet6.txt'  # 數(shù)據(jù)文件名
    word = input()  # 輸入一個(gè)單詞
    cet_dict = merge_dic(filename1, filename2)  # 調(diào)用函數(shù),返回字典類型數(shù)據(jù)
    result = translate(cet_dict, word)
    print('{}: {}'.format(*result))

第4關(guān) 刪除字典中特定字母開頭的單詞

本關(guān)任務(wù):編寫一個(gè)能刪除字典中特定字母開頭的單詞的小程序。

小明同學(xué)在準(zhǔn)備參加大學(xué)英語四六級(jí)考試,為了督促自己背單詞,他決定自己寫一個(gè)背單詞的程序。根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,讀取數(shù)據(jù)集中的四級(jí)單和六級(jí)詞文件,以單詞為鍵,以中文解釋為值,將兩個(gè)文件中的數(shù)據(jù)創(chuàng)建為一個(gè)字典。刪除字典中特定字母開頭的單詞(首字母不區(qū)分大小寫),輸出刪除后字典長(zhǎng)度。

def create_dict(file):
    """接收表示文件名的字符串參數(shù),讀文件中的單詞及釋義,以單詞為鍵,其他部分為值創(chuàng)建字典。
    多個(gè)釋義間可能是逗號(hào)或空格分隔,但單詞與第一個(gè)釋義間至少有一個(gè)空格,
    將文件每一行根據(jù)空格切分一次,切分結(jié)果分別作為鍵和值創(chuàng)新字典。
    返回字典。
    """
    # 補(bǔ)充你的代碼
    dic = {}                                                   # 創(chuàng)建空字典
    with open(file, 'r', encoding='utf-8') as data:    # 打開文件,以讀模式創(chuàng)建文件對(duì)象
        for x in data:                                 # 遍歷文件對(duì)象
            word, trans = x.strip().split(maxsplit=1)  # 每行根據(jù)空格切分為列表,只切分一次,將單詞與釋義分開
            dic.update({word:trans})    
        return dic
def merge_dic(file1, file2):
    """將讀取兩個(gè)文件中獲得的字典合并為一個(gè),返回合并后的字典"""
    # 補(bǔ)充你的代碼
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def del_words(cet_dic, letter):
    """刪除字典中首字母與參數(shù)letter相同的單詞,返回刪除后的字典"""
    # 補(bǔ)充你的代碼
    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'  # 數(shù)據(jù)文件名
    filename2 = '/data/bigfiles/cet6.txt'  # 數(shù)據(jù)文件名
    alphabet = input().lower()             # 輸入一個(gè)字母
    cet_dict = merge_dic(filename1, filename2)  # 調(diào)用函數(shù),返回字典類型數(shù)據(jù)
    result = del_words(cet_dict, alphabet)  # 刪除特定單詞后的字典
    print(len(result))                      # 輸出字典長(zhǎng)度

第5關(guān) 單詞英漢記憶訓(xùn)練

編程要求

根據(jù)提示,在右側(cè)編輯器補(bǔ)充代碼,讀取數(shù)據(jù)集中的四級(jí)單和六級(jí)詞文件,以單詞為鍵,以中文解釋為值,將兩個(gè)文件中的數(shù)據(jù)創(chuàng)建為一個(gè)字典。用戶輸入一個(gè)字母,用這個(gè)字母的ASCII值為隨機(jī)數(shù)種子,隨機(jī)抽取這個(gè)字母開頭的單詞(首字母不區(qū)分大小寫)進(jìn)行記憶訓(xùn)練,用戶填寫詞義,用戶輸入的詞義在釋義中存在時(shí)認(rèn)為回答正確,此時(shí)輸出當(dāng)前詞全部釋義;輸入錯(cuò)誤時(shí),記錄該單詞信息到錯(cuò)詞字典;用戶直接輸入回車時(shí)結(jié)束訓(xùn)練,并輸出正確率并輸出全部出錯(cuò)單詞的信息。

import random
def create_dict(file):
    """接收表示文件名的字符串參數(shù),讀文件中的單詞及釋義,以單詞為鍵,其他部分為值創(chuàng)建字典。
    多個(gè)釋義間可能是逗號(hào)或空格分隔,但單詞與第一個(gè)釋義間至少有一個(gè)空格,
    將文件每一行根據(jù)空格切分一次,切分結(jié)果分別作為鍵和值創(chuàng)新字典。
    返回字典。
    """
    # 補(bǔ)充你的代碼
    dic = {}                                                   # 創(chuàng)建空字典
    with open(file, 'r', encoding='utf-8') as data:    # 打開文件,以讀模式創(chuàng)建文件對(duì)象
        for x in data:                                 # 遍歷文件對(duì)象
            word, trans = x.strip().split(maxsplit=1)  # 每行根據(jù)空格切分為列表,只切分一次,將單詞與釋義分開
            # 補(bǔ)充程序,列表的首個(gè)元素作為字典的鍵,第二個(gè)元素做字典的值,加入字典中,返回這個(gè)字典
            dic.update({word:trans})    
        return dic
def merge_dic(file1, file2):
    """將讀取兩個(gè)文件中獲得的字典合并為一個(gè),返回合并后的字典"""
    # 補(bǔ)充你的代碼
    dict1 = create_dict(file1)
    dict2 = create_dict(file2)
    dict3 = dict1 | dict2
    return dict3
def training(cet_dic, letter):
    """輸入一個(gè)字母,返回以這個(gè)字母開頭的詞匯的字典(不區(qū)分大小寫),用于單詞記憶訓(xùn)練"""
    # 補(bǔ)充你的代碼
    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):
    """從訓(xùn)練字典中隨機(jī)抽取以某個(gè)字母開頭的單詞,用戶填寫詞義
    回答正確時(shí),輸出當(dāng)前詞全部釋義,輸入錯(cuò)誤時(shí),記錄該單詞信息,
    直接輸入回車時(shí)結(jié)束輸入,訓(xùn)練結(jié)束后輸出全部出錯(cuò)單詞的信息"""
    # 創(chuàng)建空字典,用于容納答錯(cuò)單詞
    dic1 = {}
    while True:  # 無限循環(huán)用于一次訓(xùn)練記憶多個(gè)單詞
        word = random.choice(list(train_dic.keys()))   # 從字典的鍵中隨機(jī)抽取一個(gè)單詞
        print(f'請(qǐng)輸入單詞{word}的中文翻譯:')           # 輸出提示語句
        answer = input()                               # 輸入當(dāng)前單詞的語義
        if not answer:                                 # 直接回車時(shí)輸入為空,結(jié)束循環(huán)
            print('訓(xùn)練結(jié)束!')
            break
        # 補(bǔ)充你的程序,如果輸入在釋義中存在,輸出完整釋義,否則輸出'答案錯(cuò)誤'并將當(dāng)前單詞加入答錯(cuò)單詞字典
        elif answer in train_dic[word]:
            print(f'{word}的釋義為:{train_dic[word]}')
        elif answer not in train_dic[word]:
            print('答案錯(cuò)誤')
            dic1[word] = train_dic[word]
    print('需要加強(qiáng)記憶的單詞:')
    # 補(bǔ)充代碼,逐個(gè)輸出答錯(cuò)字典中的單詞和釋義
    for i in dic1:
        print(f'{i}:{dic1[i]}')
if __name__ == '__main__':
    filename1 = '/data/bigfiles/cet4.txt'  # 數(shù)據(jù)文件名
    filename2 = '/data/bigfiles/cet6.txt'  # 數(shù)據(jù)文件名
    alphabet = input('輸入今天訓(xùn)練單詞首字母:\n').lower()
    random.seed(ord(alphabet))             # 用當(dāng)前字典的ASCII值做隨機(jī)數(shù)種子,方便評(píng)測(cè)
    cet_dict = merge_dic(filename1, filename2)  # 調(diào)用函數(shù),返回字典類型數(shù)據(jù)
    train_dict = training(cet_dict, alphabet)   # 本次訓(xùn)練單詞的字典
    en_to_ch(train_dict)                        # 調(diào)用函數(shù)進(jìn)行訓(xùn)練

到此這篇關(guān)于python字典翻轉(zhuǎn)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python字典翻轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 通過源碼分析Python中的切片賦值

    通過源碼分析Python中的切片賦值

    因?yàn)榻?jīng)常取指定索引范圍的操作,用循環(huán)十分繁瑣,因此,Python提供了切片(Slice)操作符,能大大簡(jiǎn)化這種操作。而下面這篇文章則通過源碼給大家分析介紹了Python中切片賦值的相關(guān)資料,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。
    2017-05-05
  • 深入解讀python字符串函數(shù)

    深入解讀python字符串函數(shù)

    這篇文章主要為大家介紹了python字符串函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python畫柱狀圖--不同顏色并顯示數(shù)值的方法

    python畫柱狀圖--不同顏色并顯示數(shù)值的方法

    今天小編就為大家分享一篇python畫柱狀圖--不同顏色并顯示數(shù)值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python利用matplotlib生成圖片背景及圖例透明的效果

    Python利用matplotlib生成圖片背景及圖例透明的效果

    這篇文章主要給大家介紹了Python利用matplotlib生成圖片背景及圖例透明效果的相關(guān)資料,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考家價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • Python web如何在IIS發(fā)布應(yīng)用過程解析

    Python web如何在IIS發(fā)布應(yīng)用過程解析

    這篇文章主要介紹了Python web如何在IIS發(fā)布應(yīng)用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 在Python中使用MongoEngine操作數(shù)據(jù)庫(kù)教程實(shí)例

    在Python中使用MongoEngine操作數(shù)據(jù)庫(kù)教程實(shí)例

    這篇文章主要介紹了在Python中使用MongoEngine操作數(shù)據(jù)庫(kù)教程實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python寫一個(gè)字符串?dāng)?shù)字后綴部分的遞增函數(shù)

    Python寫一個(gè)字符串?dāng)?shù)字后綴部分的遞增函數(shù)

    這篇文章主要介紹了Python寫一個(gè)字符串?dāng)?shù)字后綴部分的遞增函數(shù),寫函數(shù)之前需要Python處理重名字符串,添加或遞增數(shù)字字符串后綴,下面具體過程,需要的小伙伴可以參考一下
    2022-03-03
  • 詳解python?Warning警告有哪些情況

    詳解python?Warning警告有哪些情況

    這篇文章主要為大家介紹分析了python?Warning警告有哪些情況示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Numpy 將二維圖像矩陣轉(zhuǎn)換為一維向量的方法

    Numpy 將二維圖像矩陣轉(zhuǎn)換為一維向量的方法

    今天小編就為大家分享一篇Numpy 將二維圖像矩陣轉(zhuǎn)換為一維向量的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python中刪除文件的幾種方法實(shí)例

    Python中刪除文件的幾種方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python中刪除文件的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

紫阳县| 健康| 惠水县| 常州市| 迭部县| 霍林郭勒市| 平塘县| 潢川县| 普安县| 青河县| 绥德县| 保定市| 无极县| 金塔县| 洛扎县| 丹寨县| 永和县| 阿勒泰市| 定南县| 英德市| 秦皇岛市| 伊吾县| 新津县| 博野县| 安福县| 柳江县| 赫章县| 沽源县| 临城县| 诏安县| 曲松县| 察隅县| 石屏县| 霍邱县| 颍上县| 通江县| 陕西省| 余姚市| 尉氏县| 海淀区| 昭通市|