我需要打印字符串中的元音出现次数。我可以在一行中计算和打印它们,但我有问题要打印' 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
。
如果有任何不清楚的地方,请告诉我。谢谢。
答案 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"