2016-11-15 3 views
0
text = 'hello' 
vowels = 'aeiou' 


for char in text.lower(): 
    if char in vowels: 




print(minimum_dict) 

Как я могу сделать так, чтобы в этой программе я писал отпечатки «vowel x is y количество раз».заявление на печать из словаря

Я попытался, но я не могу заставить его работать правильно, программа есть где есть входное слово, и он проверяет, чтобы увидеть наименее частые гласные, которые происходят.

ответ

1

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

Включите часть ниже в коде для печати желаемого результата:

for key,value in minimum_dict.items(): 
    print("Vowel ", key, "occurs", value ," times") 

minimum_dict.items() возвращает список элементов, которые имеют key в словарь, и это связано value:

value в этом случае эквивалентно minimum_dict[key].

+2

Код только ответы не очень полезны. Ссылка [ответ] и добавьте объяснение. Также не нужно копировать весь его набор кодов, только те части, которые вы изменили – TemporalWolf

+0

@makavelllli Я добавил редактирование, но короткая версия - это значение, в этом случае эквивалентно 'minimum_dict [key]'. Вот что делает 'minimum_dict.items()' для вас. – TemporalWolf

0
for vowel, occurrences in minimum_dict.items(): 
    print("vowel", vowel, "occurs ", occurrences, "times") 

Это будет цикл через словарь минимально встречающиеся гласных, и для каждой пары гласный/вхождений будут печатать строку «гласный», фактический гласный, строка «происходит», количество вхождений, и строка «times».

Функция print() принимает любое количество неназванных параметров и преобразует их в строки, а затем записывает их на вывод.

1

Ваш код можно упростить, используя collections.defaultdict() как:

>>> from collections import defaultdict 
>>> text = 'hello' 
>>> vowels = 'aeiou' 
>>> vowel_count = defaultdict(int) 
>>> for c in text: 
...  if c in vowels: 
...   vowel_count[c] += 1 
... 
>>> vowel_count 
{'e': 1, 'o': 1} 

В случае, если вы должны были хранить количество всех символов, этот код может быть дополнительно упрощена с помощью collections.Counter() как:

from collections import Counter 
Counter(text) 
Смежные вопросы