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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import string
s=str(input("Введите строку:"))
print("Исходная строка:",s)
lst=s.split()
print(lst)
bukvi = []
bukvi_max = [] #массив для максимальных
for i in s :
    if i not in bukvi:
        bukvi.append(i)
count =[0]*len(bukvi)
bukvi = [element.upper() for element in bukvi] #Переводим строку в верхний регистр
lst_upper = [element.upper() for element in lst] #Переводим строку в верхний регистр
for k in range(len(bukvi)):
    for i in range(len(lst_upper)):
        for j in range(len(lst_upper[i])): #перебираем буквы в слове
            if bukvi[k] == lst_upper[i][j]: #увеличиваем счетчик букв
                count[k]+= 1
                break
print("Буквы:", bukvi)
print("Количество каждой буквы:", count)
print("Максимум:",bukvi[count.index(max(count))])
for k in range(len(bukvi)): #Если максимумов несколько создаем массив максимумов
    if count[k]== count.index(max(count)):
        bukvi_max.append(bukvi[k])
bukvi_max.sort #Сортируем по алфавиту
print("Буквы с максимальным числом вхождений:", bukvi_max)

Добавить комментарий