1 找人程序(4分)
题目内容:
有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、12341234和1212121,用字典将这些数据组织起来。编程实现以下功能:用户输入某一个大佬的姓名后输出其QQ号,如果输入的姓名不在字典中则输出字符串“Not Found”。
程序框架如下:
- def find_person(dict_users, strU):
- if user is in the dict:
- return user's QQ
- else:
- return 'Not Found'
- if __name__ == "__main__":
- create a dict named dict_users
- strU = input()
- print(find_person(dict_users, strU))
输入格式:
字符串
输出格式:
字符串
输入样例:
xiaoyun
输出样例:
88888
时间限制:500ms内存限制:32000kb
def find_person(dict_users, strU):
if strU in dict_users.keys():
userQQ = dict_users[strU]
return userQQ
else:
return 'Not Found'
if __name__ == "__main__":
dict_users={'xiaoyun':'88888','xiaohong':'5555555','xiaoteng':'11111','xiaoyi':'12341234','xiaoyang':'1212121'}
strU = input()
print(find_person(dict_users, strU))
2 统计句子中的词频次数(3分)
题目内容:
对于一个已分词的句子(可方便地扩展到统计文件中的词频):
我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!
可以用collections模块中的Counter()函数方便地统计词频,例如可用如下代码:
- import collections
- s = "我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!/"
- s_list = s.split('/')
- [s_list.remove(item) for item in s_list if item in ',。!”“']
- collections.Counter(s_list)
程序参考框架
- def countfeq(s):
- ... ...
- return a dict
- if __name__ == "__main__":
- s = input()
- ... ...
- s_dict = countfeq(s)
- print(len(s_dict.keys()))
输入格式:
字符串
输出格式:
整数
输入样例(因为oj系统限制,测试用例设为判断英文单词个数,请注意英文标点,假设仅包含,和.):
Spring/is/coming/./Spring/is/coming/.
输出样例:
3
时间限制:500ms内存限制:32000kb
def countfeq(s):
list=s.split('/')
[list.remove(item) for item in list if item in ', . ) :']
dict={}
for i in list:
if i in dict:
dict[i]+=1
else:
dict[i]=1
return dict
if __name__ == "__main__":
s = input()
s_dict = countfeq(s)
print(len(s_dict.keys()))