用Python玩转数据(三)

原创 2018年04月15日 01:09:38

1 找人程序(4分)


题目内容:


有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、12341234和1212121,用字典将这些数据组织起来。编程实现以下功能:用户输入某一个大佬的姓名后输出其QQ号,如果输入的姓名不在字典中则输出字符串“Not Found”。

程序框架如下:

  1. def find_person(dict_users, strU):
  2.      if user is in the dict:
  3.         return user's QQ
  4.      else:
  5.         return 'Not Found'
  6. if __name__ == "__main__":
  7.      create a dict named dict_users
  8.      strU =  input()
  9.      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()函数方便地统计词频,例如可用如下代码:

  1. import collections
  2. = "我/是/一个/测试/句子/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/大家/赶快/来/统计/我/吧/,/重要/事情/说/三遍/!/"
  3. s_list = s.split('/'
  4. [s_list.remove(item) for item in s_list if item in ',。!”“']
  5. collections.Counter(s_list)
这个问题也可以通过字典来解决,请编写用字典解决本问题的程序,为便于OJ系统自动判断,程序最后输出字符串中包含的不同词的个数。

程序参考框架

  1. def countfeq(s):
  2.    ... ...
  3.    return dict
  4. if __name__ == "__main__":
  5.    = input()
  6.    ... ...
  7.    s_dict = countfeq(s)
  8.    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()))



2008-04-04 | 求求你,赶快来吧

 假假已经推迟了六天了,还不来,不知道什么原因,反正很害怕了,我在西安这一个月老老实实的啊,老公都不在身边,不可能怀孕的啊,上个月例假已经来了啊,应该不会累计到这个月怀孕吧,上网查根本找不到答案,郁闷...
  • zxhgdd
  • zxhgdd
  • 2008-08-22 00:38:00
  • 99

比较简单的问题,但是我不会.大家帮帮忙吧!我是初学者!怎样用HIBERNATE和STRUTS把一条包含时间的数据插入ORACLE数据库中啊?

我想问一下怎样把一条包含日期的数据插入ORACLE数据库中,我只是简单的进行了一下类型转换,但是回出现以下异常:org.apache.commons.beanutils.ConversionExcep...
  • tangqiuju0915
  • tangqiuju0915
  • 2006-05-26 08:55:00
  • 1024

我们来统计一个各大学中国学生会CSSA的list吧

 发信人: dreamfly (林夕非非), 信区: Oversea标 题: 我们来统计一个各大学中国学生会CSSA的list吧发信站: 日月光华 (2005年03月02日00:28:24 星期三)...
  • yuanqingfei
  • yuanqingfei
  • 2006-03-30 20:56:00
  • 5186

Python数据处理相关小例编程

有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、1234321和1212121,用字典将这些数据...
  • qq_34683051
  • qq_34683051
  • 2016-05-16 21:29:20
  • 1493

Python编程

1.经典程序设计问题:找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。 输入格...
  • sinat_38163598
  • sinat_38163598
  • 2017-06-08 09:16:17
  • 789

88888

 
  • wufei168
  • wufei168
  • 2007-05-10 18:52:00
  • 344

国内某社交通讯大佬面试题(二)

面试时间:2016/04/07 坐标:上海 岗位:iOS开发实习生额。面试下午两点开始的。一开始给了一套笔试题。上面就三道题。我就凭记忆大概说一下。...
  • linyousong
  • linyousong
  • 2016-04-11 16:31:09
  • 410

当今IT界成功的“大佬”(转)

(1)百度 创始人:李彦宏 籍贯:山西阳泉 学历:北京大学信息管理专业本科,布法罗纽约州立大学完成计算机科学硕士 (2)腾讯 创始人:马化腾 籍贯:广东潮阳 学历:深圳大学计算机专业本科 (3)新浪 ...
  • ddc496601562
  • ddc496601562
  • 2010-07-17 14:46:00
  • 3029

fedora16 中文版的下载地址

可以去官方下载。http://fedoraproject.org/zh_CN/get-fedora-options 也可以到国内的开源镜像站。例如: 网易 http://mirrors.163...
  • liu_hang_yu
  • liu_hang_yu
  • 2012-05-22 17:05:44
  • 410
收藏助手
不良信息举报
您举报文章:用Python玩转数据(三)
举报原因:
原因补充:

(最多只允许输入30个字)