Python第七讲作业 字典
本文最后更新于 568 天前,其中的信息可能已经有所发展或是发生改变。

第1关:交换键值对

任务描述

本关任务:编写程序。 创建由Monday-Sunday七个值组成的字典,输出键值列表。 要求1,键为:1 2 3 4 5 6 7 值为 Mon Tues Wed Thur Fri Sat Sun 2 将Mon等作为键,将键1等作为值,输出键值列表。

相关知识

为了完成本关任务,你需要掌握:1.如何创建字典,2.如何遍历字典。

编程要求

根据提示,在右侧编辑器补充代码

测试说明

平台会对你编写的代码进行测试:

测试输入:1,Mon2,Tues3,Wed4,Thur5,Fri,6,Sat,7,Sun; 预期输出: 1 Mon 2 Tues 3 Wed 4 Thur 5 Fri 6 Sat 7 Sun Mon 1 Tues 2 Wed 3 Thur 4 Fri 5 Sat 6 Sun 7

week = {1:"Mon",2:"Tues",3:"Wed",4:"Thur",5:"Fri",6:"Sat",7:"Sun"}
for i in range(1,8):
    print(f"{i} {week[i]}")
for i in range(1,8):
    print(f"{week[i]} {i}")

第2关:统计程序文件中每个关键字的出现次数

任务描述

本关任务:编写程序,读入一个python源程序文件并统计文件中每个关键字的出现次数。

相关知识

为了完成本关任务,你需要掌握:1.如何统计关键字在文本中的出现次数。

编程要求

根据提示,在右侧编辑器补充代码,

测试说明

平台会对你编写的代码进行测试:预期输出中省略了中间31个关键字的出现次数。具体参考测试用例。

测试输入:ocr.py; 预期输出: False 0 ... pass 0

import os
fname = input()
root='/data/workspace/myshixun/my_dictionary/'
fullfile = os.path.join(root,fname)
file = open(fullfile)
code = file.read() # 此处 code 中包含的是文件ocr.py中的所有代码内容
keywords=['False','def','if','raise',
         'None','del','import','return',
         'True','elif','in','try',
         'and','else','is','while',
         'as','except','lambda','with',
         'assert','finally','nonlocal','yield',
         'break','for','not',
         'class','from','or',
         'continue','global','pass']
tot = {}
for key in keywords:
    tot[key] = code.count(key)
for key,value in tot.items():
    print(f"{key} {value}")

第3关:哈姆雷特词频统计

任务描述

本关任务:编写程序,统计哈姆雷特原文中词语出现的频率。 输出前20个出现频率较高的词语及频率。

相关知识

为了完成本关任务,你需要掌握:1.如何创建字典,2.如何对字典排序。

编程要求

根据提示,在右侧编辑器补充代码,

测试说明

平台会对你编写的代码进行测试:

测试输入:hamlet.txt; 预期输出: the 1138 ... for 247

import os
root ='/data/workspace/myshixun/my_dictionary/'
fname = input()
fullfile = os.path.join(root,fname)
txt = open(fullfile).read() # txt 为哈姆雷特原文中的所有文本
txt = txt.lower()

for v in '!"#$%&()*+,-.?@[\\];^_`{|:}~':
    txt = txt.replace(v,' ')
txt = txt.replace('\n',' ').replace('\t','')
words = txt.split(' ')

countDic = {}
for word in words:
    if word == "":
        continue
    else:
        countDic[word] = countDic.get(word,0) + 1
count = sorted(countDic.items(),key=lambda x: x[1], reverse=True)#排个序
for i in range(20):
    print(f"{count[i][0]},{count[i][1]}")
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇