2014-09-10 2 views
-4

Python 3 - напишите программу, которая позволяет пользователю вводить строку и отображает символ, который чаще всего встречается в строке.Python - наиболее часто встречающийся символ

Это моя попытка до сих пор, я знаю, что это требует много работы:

def main(): 
    count = 0 

    my_string = input('Enter a sentence: ') 

for ch in my_string: 
    if ch == 'A' or ch == 'a': 
     count+=1 

print('The most popular character appears ', count, 'times.') 

main() 
+6

Это довольно легкая вещь, чтобы достичь с помощью словаря (на самом деле, существует специальный подклассом 'collections.Counter', который делает это почти тривиальным). Вы уже узнали о словарях? – mgilson

+4

Поиск «частоты писем питона», есть несколько сообщений об этом уже с несколькими различными решениями. – 2014-09-10 23:45:50

+0

Используйте [словарь] (https://docs.python.org/2/tutorial/datastructures.html) (или аналогичный), чтобы поддерживать * различный * счетчик для * каждого символа *. Кроме того, отступы имеют значение. – user2864740

ответ

-1

Пожалуйста, найдите код ниже:

import collections 
def main(): 
    d = collections.defaultdict(int) 
    my_string = input('Enter a sentence: ') 
    for c in my_string.strip().lower(): 
     d[c] += 1 
    val=dict(d).values() 
    print('The most popular character appears ', sorted(val,reverse=True)[0], 'times.') 

main() 
+0

Вместо сортировки используйте 'max'. И вместо этого, используйте 'collections.Counter'. – Veedrac