Вопрос задан 30.09.2023 в 20:01. Предмет Информатика. Спрашивает Чугаева Валерия.

Самая частая буква Дана строка, возможно, содержащая пробелы. Определите, какая буква латинского

алфавита (или какие буквы) в этой строке встречается чаще всего. При решении этой задачи заглавные и строчные буквы считаются одинаковыми, а прочие символы, не являющиеся буквами, не учитываются. При решении этой задачи нельзя пользоваться вложенными циклами. Входная строка должна обрабатываться за один проход. Входные данные Дана строка. Выходные данные Программа должна вывести в первой строке все буквы, которые встречаются чаще всего в исходной строке. Выводить буквы необходимо в заглавном написании, в алфавитном порядке, без пробелов. Во второй строке выведите единственное число — сколько раз в данной строке встречаются эти буквы. Я накидал ответ но он не правильный поможете Примеры Ввод Вывод - We all live in the Yellow Submarine! EL 5 Это ответ s = input() string = '' string2 = '' for i in s: if i.isalpha(): if i.isupper(): i = i.lower() string = string + i else: string = string + i else: string = string + i string = string.replace(' ', '') for j in string: if 'a' <= j <= 'z': string2 = string2 + j
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнов Евгений.

Ответ:

s = input()

s1 = sorted(s.upper().replace(' ', ''))

k = 0

for i in s1:

   p = s1.count(i)

   if p > k:

       k = p

for i in range(len(s1)):

   if s1[i] not in s1[:i]:

       if s1.count(s1[i]) == k:

           print(s1[i], end='')

print()

print(k)

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде заключается в неправильном способе проверки наиболее часто встречающейся буквы и подсчета их количества. Вам следует использовать словарь для подсчета букв, а затем найти буквы с наибольшим количеством вхождений. Вот исправленный код:

python
s = input() letter_count = {} # Пройдемся по строке и подсчитаем количество каждой буквы for char in s: if char.isalpha(): char = char.lower() # Приводим к нижнему регистру, чтобы учитывать заглавные и строчные буквы if char in letter_count: letter_count[char] += 1 else: letter_count[char] = 1 # Найдем максимальное количество вхождений max_count = max(letter_count.values()) # Соберем все буквы, которые встречаются максимальное количество раз most_common_letters = [letter for letter, count in letter_count.items() if count == max_count] # Отсортируем буквы в алфавитном порядке most_common_letters.sort() # Выводим результат print("".join(most_common_letters).upper()) # Выводим буквы в верхнем регистре print(max_count)

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос