Этого можно было бы удобно сделать с помощью слова, если вы дошли до этого:
def vowelFinder(mystring):
vowels = ('a','e','i','o','u') #tuples are preferable for efficiency
results = {} #dict for {vowel:[position list]} pairs
for x in vowels:
for y in range(len(mystring)):
if x in results.keys() and x == mystring[y].lower():
results[x].append(y) #alter a dict entry
elif x = mystring[y].lower():
results.update({x:[y]} #make a dict entry
return results
Обратите внимание на использование str.lower (), чтобы избежать пропущенных заглавных букв. Тогда, если мы попробуем что-то вроде:
vowelFinder('I have asked my teacher, and he led me to what I have now, but I cannot get it from there.')
{'a': [3, 7, 18, 25, 44, 50, 66],
'e': [5, 10, 17, 21, 30, 33, 37, 52, 73, 86, 88],
'i': [0, 47, 63, 76],
'o': [40, 55, 69, 81],
'u': [60]}