中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python字典翻轉怎么實現

發布時間:2023-07-28 11:14:35 來源:億速云 閱讀:114 作者:栢白 欄目:開發技術

今天小編給大家分享的是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字典翻轉怎么實現就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇义县| 邛崃市| 怀化市| 伽师县| 当涂县| 石狮市| 巴彦县| 容城县| 思茅市| 四川省| 南皮县| 体育| 齐河县| 邯郸市| 云南省| 仙游县| 遵化市| 怀仁县| 洛宁县| 东莞市| 渝中区| 苍山县| 加查县| 曲麻莱县| 呼伦贝尔市| 拉孜县| 宣武区| 隆尧县| 济南市| 康定县| 永春县| 瓦房店市| 南汇区| 鸡西市| 定襄县| 迭部县| 察雅县| 依安县| 财经| 青浦区| 凤庆县|