百度练习题 统计元音字母

题目如下:

遇到一道题,苦苦没有思路,求各路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."
时间: 2024-08-07 12:01:50

百度练习题 统计元音字母的相关文章

文本项目系列[2]——字符串元音字母次数统计

1.需求 统计元音字母——输入一个字符串,统计处其中元音字母的数量.更复杂点的话统计出每个元音字母的数量. 2.思路 输入:不超过100个字符的字符串.比如:"love me love my dog". 处理:元音字母就a/e/i/o/u五个,可以分别统计出各自的数量,总数相加就可以了. 输出如下: 元音总次数:6a次数:0e次数:3i次数:0o次数:3u次数:0 3.代码 package com.myeclipse; public class VowelCount { /** * @

华为上机练习题--统计各小写字符出现的次数

题目: 手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出.提示可以用map 例子:输入:aaabbbccc 输出:a 3 b 3 c 3 分析: 看到后面的提示,简直就是不用动脑,直接简单粗暴的顺势而上 直接上代码: import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class TestCharAcount

1166: 零起点学算法73——统计元音

1166: 零起点学算法73--统计元音 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1082  Accepted: 402[Submit][Status][Web Board] Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串,只由小写字母组成. Output 对于每个测试实例输出5行

c语言之统计元音

统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45249    Accepted Submission(s): 18458 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个测

HDOJ 2027 统计元音

统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37878    Accepted Submission(s): 15559 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个测

hdu 2027 统计元音

统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 58391    Accepted Submission(s): 23254 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个测

java编程:输入一串小写字符串,统计每个字母出现的次数

*需求:统计字符串中每个字母: * 说明:编写程序,提示用户输入一个字符串, * 然后统计字符串中每个字母出现的个数,忽略字母的大小写. * * 原理: * 1.使用String类中的toLowerCase()方法,将字符串中的大写字母转换成小写形式. * 2.构造一个具有26个int值得数组ch ,每个元素记录一个字母出现的次数. *     即,ch[0]记录a的个数,ch[1]记录b的个数. * 3.对字符中的每一个字符,判断其是否小写字母,如果是,则数组中的相应计数器加1. 第一种风格的

hdu 2027 统计元音 (java)

问题: 注意for循环中参数,不要搞混了. 注意空行和换行的区别,题目是讲的不空行,但还是要进行换行. 统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45831    Accepted Submission(s): 18695 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数

统计元音(stringstream的-应用)

Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个测试实例输出5行,格式如下:a:num1e:num2i:num3o:num4u:num5多个测试实例之间由一个空行隔开. 请特别注意:最后一块输出后面没有空行:) Sample Input 2 aeiou my name is ignatius Sample Output a:1 e:1 i:1 o