Форум сайта python.su
1
Задача стоит пропускать две буквы после гласной и одну после согласной. Код хорошо работает когда входной текст без пробелов или с одним пробелом. Но совершенно не работает с двумя или более пробелами. Подскажите
[/ VOWELS = ['a','e','i','o','u','y'] phrase="aaa bo cy da eee fe" s=str() i=0 while i in range(len(phrase)-1): if phrase[i].isalpha: if phrase[i] in VOWELS: s+=phrase[i] i+=3 else: s+=phrase[i] i+=2 else: s+=phrase[i] i+=1 print(s) ]
Отредактировано oldjaponec@gmail.com (Сен. 3, 2019 20:35:10)
Офлайн
568
oldjaponec@gmail.com
запустил ваш код, он работает с любым количеством пробелов
Офлайн
44
# coding: utf-8 # Python 3.x print("-" * 51) # ваш вариант VOWELS = ['a','e','i','o','u','y'] phrase = "aaa bo cy da eee fe" s = str() i = 0 while i in range(len(phrase)-1): if phrase[i].isalpha: if phrase[i] in VOWELS: s+=phrase[i] i+=3 else: s+=phrase[i] i+=2 else: s+=phrase[i] i+=1 print("№ 0 -->", s, "\n" * 2, "-" * 50) """ в вашем условии нет не чего за " " так что пробел считаю за "НЕ ГЛАСНУЮ"!!! по хорошему это не верные данные """ # мой вариант VOWELS = ['a','e','i','o','u','y'] phrase = "aaa bo cy da eee fe" s = str() test = 0 for i in phrase: if test >= 1: test -= 1 continue if i in VOWELS: test += 2 else: test += 1 s += i print("№ 1 -->", s, "\n" * 2, "-" * 50)
--------------------------------------------------- № 0 --> a oyaef -------------------------------------------------- № 1 --> a oyaef --------------------------------------------------
и вставьте ссылку на его url Отредактировано AD0DE412 (Сен. 4, 2019 19:49:41)
Офлайн
857
Вообще, isalpha - это метод строки, а не свойство.
Офлайн
1
py.user.nextда проблема была в скобках только “isalpha()”
Вообще, isalpha - это метод строки, а не свойство.
Офлайн