将字符串作为输入的函数vowel_count计算出现次数并打印出现

时间:2015-09-30 02:52:25

标签: python

我需要打印字符串中的元音出现次数。我可以在一行中计算和打印它们,但我有问题要打印' a,e,i,o和u'分别在发生时。我不允许使用任何内置函数。有人可以指导或让我知道我错过了什么。以下是我的代码。

vowels = 'aeiou'
def vowel_count(txt):
    for vowel in vowels:
        print (txt.count(vowel),end ='')
    return

它会打印出现,但我无法在它前面添加任何内容。让我说我应该打印le tour de france它应该打印 a,e,i,o and u appear , respectively ,1,3,0,1,1 times

如果有任何不清楚的地方,请告诉我。谢谢。

2 个答案:

答案 0 :(得分:2)

只需在循环顶部和尾部文字之前和之后打印:

def vowel_count(txt):
    print('a,e,i,o and u appear , respectively ', end='')
    for vowel in vowels:
        print(',', txt.count(vowel), sep='', end='')
    print(' times')

>>> vowel_count('le tour de france')
a,e,i,o and u appear , respectively ,1,3,0,1,1 times

但是不打印内置功能吗?我不确定如何在不使用任何内置函数的情况下完成此任务。

答案 1 :(得分:0)

使用列表理解,可以实现以下目的:

vowels = 'aeiou'
def vowel_count(txt):
    counts = map(txt.count, vowels)
    return ", ".join(vowels) + " appear, respectively, " + ",".join(map(str, counts)) + " times"