Как бы я посчитал количество согласных в слове? питон
В 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'])