Как бы я посчитал количество согласных в слове? питон

В Python, как бы я посчитал количество согласных в слове? Я понимаю, что есть несколько разных способов сделать это, но я думаю, что мой выбор - анализировать каждую букву слова и добавлять в счетчик, когда я сталкиваюсь с согласной. Я просто не могу понять, как это реализовать.

Что-то начинается с этого?

count = 0
consonant = 'astringofconsonants'
if consonant in string[0]:
    count += 1

4 ответа

Решение

Начало, которое вы дали, не очень питоническое.

Попробуйте перебрать список, используя

for c in word:
    if c in consonants:
        # do something

Вы также можете использовать генератор, как показано ниже. Он пройдет через каждую букву и посчитает количество каждого согласного в слове.

(word.count(c) for c in consonants)

использовать sum() функция, чтобы добавить их все

Вы можете перебирать строки так же, как вы перебираете список:

for letter in word:
  if letter in consonants:
    # You can fill in from here

Итерация по строке приводит к каждому символу по очереди.

for c in 'thequickbrownfoxjumpsoverthelazydog':
    print c

Постижения!

count = sum(1 for c in cons if c not in ['a','e','i','o','u'])

Из комментариев, вероятно, больше Pythonic:

count = len([c for c in cons if c not in 'aeiou'])
Другие вопросы по тегам