用python玩转数据第三周_用Python玩转数据(三)

本文介绍了如何使用Python进行数据处理,包括根据姓名查找QQ号的找人程序和统计句子中词频的函数。找人程序通过字典存储数据,输入姓名即可获取QQ号;词频统计则利用字典统计分词句子中不同词的数量。
摘要由CSDN通过智能技术生成

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()))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值