1 找人程序(4分)
题目内容:
有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、12341234和1212121,用字典将这些数据组织起来。编程实现以下功能:用户输入某一个大佬的姓名后输出其QQ号,如果输入的姓名不在字典中则输出字符串“Not Found”。
程序框架如下:
def find_person(dict_users, strU):if useris in thedict:return user's QQelse:return 'Not Found'if __name__== "__main__":create adict named dict_usersstrU= 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 collectionss= "我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!/"s_list= s.split('/')[s_list.remove(item)for itemin s_listif itemin ',。!”“']collections.Counter(s_list)这个问题也可以通过字典来解决,请编写用字典解决本问题的程序,为便于OJ系统自动判断,程序最后输出字符串中包含的不同词的个数。
程序参考框架
def countfeq(s):... ...return adictif __name__== "__main__":s= input()... ...s_dict= countfeq(s)print(len(s_dict.keys()))
输入格式:
字符串
输出格式:
整数
输入样例(因为oj系统限制,测试用例设为判断英文单词个数,请注意英文标点,假设仅包含,和.):
Spring/is/coming/./Spring/is/coming/.
输出样例:
3时间限制:500ms内存限制:32000kbdef 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()))