Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 26, 2012 22:13:59

Kato
Зарегистрирован: 2012-11-26
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

распечатать слова, где не более 4 гласных

Здравствуйте! Извините, если не правильно оформляю- тут впервые да и вообще до этого не программировал.
Есть задачка,где нужно использовать break/continue: прога спрашивает у пользователя слова,пока тот не введет пустое(ну стандартно,короче). далее распечатать все, кроме тех, где более 4 гласных.
начало у меня выходит так:

word = '1'
arr = []
vow = [u'о',u'ы',u'ю',u'у',u'э',u'ё',u'я',u'и',u'е',u'а']
while word != '':
    arr.append(word)
    word = raw_input(u'Введите слово: ').decode('cp1251')
    nv = 0
    for i in word:
        for i in vow:
           nv += 1     
    for j in arr:        
        if nv < 5:
            continue
        print j

за nv принял количество гласных. знаю, тут наверняка бред, ибо я не совсем еще въехал во всю эту тему- не могли бы помочь разобрать? заранее спасибо

Отредактировано Kato (Ноя. 26, 2012 22:28:37)

Офлайн

#2 Ноя. 26, 2012 22:47:30

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

распечатать слова, где не более 4 гласных

arr = [] # список для отфильтрованных слов.
vow = u'аеиоуыэюя' # гласные.
while 1:
    word = raw_input(u'Введите слово').decode("cp-1251")
    if not word:
        break
    n = 0 # счетчик гласных.
    for i in word:
        if i in vow: # если гласная.
           n += 1
        if n > 4: # если перебор гласных.
            break
    else: # если цикл for завершился без break
        arr.append(word) # доб. слово.
if arr: # если список не пуст.
    for w in arr: # печать слов.
        print w
else:
    print = 'not found.'

Отредактировано dimy44 (Ноя. 26, 2012 23:52:13)

Офлайн

#3 Ноя. 26, 2012 23:01:53

Kato
Зарегистрирован: 2012-11-26
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

распечатать слова, где не более 4 гласных

скажите, пожалуйста,

if arr:

за что отвечает?

Офлайн

#4 Ноя. 26, 2012 23:08:29

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

распечатать слова, где не более 4 гласных

Если список arr пуст то if не выполниться.

[] = False
["что нибудь буквы или цыфры",2] = True

Отредактировано Singularity (Ноя. 26, 2012 23:09:53)

Офлайн

#5 Ноя. 26, 2012 23:14:13

Kato
Зарегистрирован: 2012-11-26
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

распечатать слова, где не более 4 гласных

понял, спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version