В других ответах были предложены альтернативные способы подсчета букв в строке, некоторые из которых могут быть лучше, чем те, которые вы придумали самостоятельно. Но я думаю, что, возможно, стоит ответить на ваш вопрос о том, как вызвать вашу функцию most_frequency_occ
из вашей функции general
, даже если алгоритм невелик, поскольку вам нужно понять, как функции работают в других контекстах.
В вызовах функций нужно понимать, что выражение вызова будет оцениваться как значение, возвращаемое функцией. В данном случае это количество. Часто вам может потребоваться присвоить возвращаемое значение переменной, чтобы вы могли ссылаться на нее несколько раз. Вот как это может выглядеть:
count = most_frequency_occ(chars, inputString)
Теперь вы можете сделать сравнение между количеством и предыдущим лучшим счетом, чтобы увидеть, проверяли ли вы только что наиболее распространенную букву:
maxOccurences = 0
for chars in inputString:
count = most_frequency_occ(chars, inputString)
if count > maxOccurences: # check if chars is more common than the previous best
maxOccurences = count
return maxOccurences
Последнее замечание: некоторые имена переменных и функций немного вводят в заблуждение. Это часто случается, когда вы меняете свой код с одного проекта на другой, но не меняете имена переменных одновременно. Возможно, вы захотите иногда перечитать ваш код и дважды проверить, чтобы убедиться, что имена переменных по-прежнему совпадают с тем, что вы делаете с ними. Если нет, вам следует «реорганизовать» свой код, переименовав переменные, чтобы лучше соответствовать их фактическому использованию.
Чтобы указать c, ваша функция most_frequency_occ
на самом деле не находит самого часто встречающегося символа, он лишь делает небольшой шаг в этом процессе, считая, как часто встречается один символ. Так что я бы назвал это count_char
или что-то подобное. Функцию general
можно назвать более описательной, например find_most_frequent_character
.
. И переменная chars
(которая существует в обеих функциях) также вводит в заблуждение, поскольку она представляет один символ, но имя chars
подразумевает что-то во множественном числе (например, список или строку, содержащую несколько символов). Переименование его в char
может быть лучше, так как это больше похоже на единственное имя.