2016-10-17 2 views
-3

Я пытаюсь написать программы, которые читают строку ввода в виде строки и печатают позиции всех гласных в строке.Позиции всех гласных в строке

line = str(input("Enter a line of text: ")) 

vowels = ('a', 'e', 'i', 'o', 'u') 
position = "" 
for i in line : 
    if i.lower() in vowels : 
     position += ("%d ", i) 
print("Positions of Vowels " + position) 

Ожидаемое: Positions of Vowels 1,3,4,5,

дает мне: Positions of Vowels

Что я могу сделать?

+3

Используйте 'enumerate'. Также каков вклад для ожидаемого результата? –

+0

Что вы ожидаете 'position + = ("% d ", i)' делать? Это не форматирование строки –

+0

Вход: Мы посещаем OCC. Выход: Позиции гласных 1,3,6,10, – Mark

ответ

4

Если вы хотите получить список индексов, следующее должно работать, используя enumerate:

>>> text = 'hello world vowel' 
>>> vowels = 'aeiou' 
>>> [i for i, c in enumerate(text.lower()) if c in vowels] 
[1, 4, 7, 13, 15] 

Для вашего разделителями форматирования:

>>> ', '.join(str(i) for i, c in enumerate(text.lower()) if c in vowels) 
'1, 4, 7, 13, 15' 
+0

'code'pos =" " для i, c в перечислении (line.lower()): , если c в гласных: pos + = str (i) print ("Положение гласных", ','. join (pos)) – Mark

+0

Вход: Мы посещаем OCC. Выход: Положение гласных 1,3,6,1,0 – Mark

+0

Что можно сделать, чтобы исправить выход? – Mark

Смежные вопросы