zoukankan      html  css  js  c++  java
  • 百度练习题 统计元音字母

    题目如下:

    遇到一道题,苦苦没有思路,求各路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."
  • 相关阅读:
    【灵感】wifi通过wifi发送优惠信息
    Web 通信 之 长连接、长轮询(long polling)
    深入了解 Dojo 的服务器推送技术
    浅谈TCP优化
    非IE内核浏览器支持activex插件
    树莓派安装 Nginx + PHP7.0 + Pi Dashboard
    ChartView与LineSeries搭配实现曲线局部缩放功能
    QT开发(十二)——QT事件处理机制
    QT源码之Qt信号槽机制与事件机制的联系
    详解 QT 源码之 Qt 事件机制原理
  • 原文地址:https://www.cnblogs.com/sageskr/p/4090655.html
Copyright © 2011-2022 走看看