Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 3, 2019 20:15:33

oldjaponec@gmail.com
Зарегистрирован: 2019-09-03
Сообщения: 13
Репутация: +  1  -
Профиль   Отправить e-mail  

Почему не работает цикл?

Задача стоит пропускать две буквы после гласной и одну после согласной. Код хорошо работает когда входной текст без пробелов или с одним пробелом. Но совершенно не работает с двумя или более пробелами. Подскажите

 [/
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)

Офлайн

#2 Сен. 3, 2019 22:35:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Почему не работает цикл?

oldjaponec@gmail.com
запустил ваш код, он работает с любым количеством пробелов



Офлайн

#3 Сен. 4, 2019 12:48:19

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Почему не работает цикл?

 # 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
 --------------------------------------------------
зы исправленно почему то показалось что 3 после гласной 2 после согласной



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 4, 2019 19:49:41)

Офлайн

#4 Сен. 5, 2019 06:05:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему не работает цикл?

Вообще, isalpha - это метод строки, а не свойство.



Офлайн

#5 Сен. 6, 2019 01:11:07

oldjaponec@gmail.com
Зарегистрирован: 2019-09-03
Сообщения: 13
Репутация: +  1  -
Профиль   Отправить e-mail  

Почему не работает цикл?

py.user.next
Вообще, isalpha - это метод строки, а не свойство.
да проблема была в скобках только “isalpha()”

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version