1找人程序(3分)
题目内容:
有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:
return dict_users[strU]
else:
return 'Not Found'
if __name__=='__main__':
name=['xiaoyun','xiaohong','xiaoteng','xiaoyi','xiaoyang']
qq=['8888','555555','11111','12341234','1212121']
dict_users=dict(zip(name,qq))
strU=input()
print(find_person(dict_users,strU))
2统计中文句子中的词频(3分)
题目内容:
对于一个已分词的句子(可方便地扩展到统计文件中的词频):
我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!
可以用collections模块中的Counter()函数方便地统计词频,例如可用如下代码:
import collections
import copy
s = “我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!/”
s_list = s.split(’/’)
s_list_backup = s_list[:]
[s_list.remove(item) for item in s_list_backup if item in ‘,。!”“’]
collections.Counter(s_list)
这个问题也可以通过字典来解决,请编写用字典解决本问题的程序,为便于OJ系统自动判断,程序最后输出某个单词的词频。
程序参考框架
def countfeq(s):
… …
return a dict
if name == “main”:
s = “Not clumsy person in this world, only lazy people, only people can not hold out until the last.”
s_dict = countfeq(s.lower())
word = input()
基于s_dict判断word的词频并输出(可能是0次)
输入格式:
字符串
输出格式:
整数
输入样例(因为oj系统限制,测试用例设为判断英文单词个数(不区分大小写,全部转换成小写字符处理),请注意英文标点,假设仅包含,和.):
not
输出样例:
2
def countfeq(s,word):
s_list=s.split(' ')
s_dict={}
for item in s_list:
if item[-1] in ',.\'"':
item=item[:-1]
if item not in s_dict:
s_dict[item]=1
else:
s_dict[item]+=1
if word in s_dict:
print(s_dict[word])
else:
print ("0")
if __name__=="__main__":
s = "Not clumsy person in this world, only lazy people, only people can not hold out until the last."
word=input()
s_dict = countfeq(s.lower(),word)