首页 > 代码库 > 百度练习题 统计元音字母
百度练习题 统计元音字母
题目如下:
遇到一道题,苦苦没有思路,求各路python大神解答,在线等。
输入一串文字,统计这串文字里的【元音字母(aeiou)大小写不分,A和a都统一算是a】的数量。有3个要求:
1.打印出出现次数最少的元音字母和它的出现次数,如果出现次数为0的话就忽略不急。例如,“Are you about ”,里面没出现i, i就不算了。所以它打出来的东西就是“e with 1 occurence.”
2.类似于“Andy was here”,a 和 e 都是出现次数最少的元音字母(2次),那么打出来就得是 both a and e have 2 occurrences。
3.如果这串文字里没有元音的话,得说“no vewels in here.”
#!/usr/bin/env python# -*- coding:utf-8 -*-# 遇到一道题,苦苦没有思路,求各路python大神解答,在线等。# 输入一串文字,统计这串文字里的【元音字母(aeiou)大小写不分,A和a都统一算是a】的数量。有3个要求:# 1.打印出出现次数最少的元音字母和它的出现次数,如果出现次数为0的话就忽略不急。例如,“Are you about ”,里面没出现i, i就不算了。所以它打出来的东西就是“e with 1 occurence.”# 2.类似于“Andy was here”,a 和 e 都是出现次数最少的元音字母(2次),那么打出来就得是 both a and e have 2 occurrences。# 3.如果这串文字里没有元音的话,得说“no vewels in here.”#初始化一个字典用于储存结果result = {}tmp_result = []user_line = raw_input("input the line")#把字符串转变成小写user_line_low = user_line.lower()#根据元音查询他出现的次数for i in "aeiou": #把结果储存在一个列表里,毕竟有的时候可能出现俩个相同的数量 result[user_line_low.count(i)] = result.get(user_line_low.count(i),[]) #把当前字母增加到列表 result[user_line_low.count(i)].append(i)for k in result.keys(): #从字典中获取最小的那一个数量,如果为0,则抛弃 if k != 0: tmp_result.append(k)if tmp_result: #如果tmp_result中有值为真,无值为false the_min_num = min(set(tmp_result)) print the_min_num,result for i in result[the_min_num]: print i, print "have %d occurrences" % (the_min_num)else: print "no vewels in here."
百度练习题 统计元音字母
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。