Моя задача:
Чтобы написать функцию, которая получает строку в качестве аргумента и возвращает букву (буквы) с максимальным появлением в ней.
Пример 1:
s = 'Astana'
Выход:
a
Пример 2:
s = 'Kaskelen'
Выход:
ke
Пока у меня есть код (нажмите, чтобы запустить):
a = input()
def most_used(w):
a = list(w)
indexes = []
g_count_max = a.count(a[0])
for letter in a:
count = 0
i = int()
for index in range(len(a)):
if letter == a[index] or letter == a[index].upper():
count += 1
i = index
if g_count_max <= count: //here is the problem.
g_count_max = count
if i not in indexes:
indexes.append(i)
letters = str()
for i in indexes:
letters = letters + a[i].lower()
return letters
print(most_used(a))
Проблема в том, что он автоматически добавляет первую букву в массив, потому что сумма появления первого элемента фактически равна начальной точке появления (которая в основном является первым элементом).
Пример 1:
s = 'hheee'
Выход:
he
Пример 2:
s = 'malaysia'
Выход:
ma