本文最后更新于 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,Mon
,2,Tues
,3,Wed
,4,Thur
,5,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]}")