2016-11-06 8 views
0

Я хочу, чтобы пользователь мог ввести кусок строки (я знаю, как это сделать)Как напечатать наименее используемую гласную в строке?

Затем я хочу, чтобы Python подсчитывал, сколько раз используется каждый гласный (aeiou).

После подсчета, сколько раз каждый гласный используется, мне нужна программа для возврата наименее используемого гласного/с, который используется/используется хотя бы один раз. Если гласная не используется, ее нельзя возвращать. В случае, если связь для наименее используемого, оба должны быть возвращены.

Если не используются гласные, он должен напечатать код ошибки «Нет гласные не использовались» (я знаю, как это сделать)

Например: Если это сколько раз гласные были использованы в предложении :

a=4 
b=2 
c=0 
d=0 
e=2 

Он должен печатать «Наименее USED-гласные были b и c, с использованием 2».

ответ

1

Вы можете:

  1. Удалить все не гласные символы из строки.
  2. Разделить строку по символам.
  3. используйте Counter в списке, который вы получили от # 2.

import re 
from collections import Counter 
s = 'asdfwerasdfwaxciduso' 
only_vowels = re.sub(r"[^aeiou]", "", s) 
c = Counter(list(only_vowels)) 
c.most_common()[-1] 
+0

Это действительно очень полезно ... Спасибо. Единственное, что не позволяет мне это кодирование, это следующее: если наименее используемая гласная используется столько же раз, сколько и другой гласный, то должны быть напечатаны оба гласных. Как я могу это сделать? –

+0

Я не могу найти ответ на свой комментарий? Как печатать обе гласные, если есть более одного наименьшего общего гласного? Кроме этого - идеальный ответ. Я буду отмечать как принятый ответ в ближайшее время - даст вам шанс ответить, поскольку я до сих пор не уверен, как печатать несколько наименее общих гласных! –

+0

Спасибо за помощь кстати –

0

Сделайте это нелегко - буква с письмом. Итерации по строке с циклом for и для каждой буквы увеличивают значение словаря. В конце проверьте ключи с гласными и найдите самые маленькие.

+0

Спасибо - Как я могу идти о игнорируя любые гласные, которые использовались нулевые времена? –

+0

Если письмо не используется, оно не имеет ключа. Используйте defaultdict из Collections со значением по умолчанию 1, поэтому он не будет волноваться, пытаясь добавить один в первый раз. – zenlc2000

+0

Спасибо - последний Q - предположим, что две гласные имеют одно и то же самое низкое значение. Как я могу их распечатать? –