Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
97 / 47 / 6
Регистрация: 25.09.2022
Сообщений: 132

Напишите программу, которая выполняет частотный анализ, определяя долю каждой буквы английского алфавита

27.03.2023, 15:37. Показов 1402. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
O. Частотный анализ
Напишите программу, которая выполняет частотный анализ, определяя долю каждой буквы английского алфавита в общем количестве английских букв в тексте. Символы, не являющиеся буквами английского алфавита, учитывать не нужно. Программа должна вывести доли всех букв, которые встречаются в тексте. Заглавные и строчные буквы не различаются.

Входные данные
Входной файл input.txt содержит произвольный текст, в котором есть буквы английского алфавита.

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

Примеры
входные данные
Mama myla ramu.
выходные данные
a 0.333
m 0.333
l 0.083
r 0.083
u 0.083
y 0.083


Мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
st = open("input.txt", "r").read().lower()
f = {}
n = 0
for c in st:
if ord('a') <= ord(c) <= ord('z'):
x = f.get(c, 0)
f[c] = x + 1
n += 1
l = [(k, "{:5.3f}".format(f[k]/n)) for k in f.keys()]
l.sort(key = lambda x: x[0])
l.sort(key = lambda x: x[1], reverse = True)
s = "\n".join([i[0] + " " + i[1] for i in l])
open("output.txt","w").write(s)
Из 23 тестов верно 14(1-14 верно, 15-23 неверно). Не могу понять в чем ошибка. Или я не все варианты перебрал?
Задача из "Информатикс". Пожалуйста подскажите.
Заранее спасибо!!!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2023, 15:37
Ответы с готовыми решениями:

Написать программу, которая записывает в файл буквы английского алфавита
Написать программу, которая записывает в файл буквы английского алфавита

Написать программу, которая записывает в файл буквы английского алфавита
Написать программу, которая записывает в файл буквы английского алфавита.

Модели RGB и CMYK. Напишите программу, которая принимает на вход от пользователя букву английского алфавита
Модели RGB и CMYK. Напишите программу, которая принимает на вход от пользователя букву английского алфавита (переменная letter) и выводит...

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38178 / 21113 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
27.03.2023, 16:04
Цитата Сообщение от Informatikc Посмотреть сообщение
Не могу понять в чем ошибка.
- например, в том, что заглавные буквы просто не обработаются
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
27.03.2023, 16:14
Лучший ответ Сообщение было отмечено Informatikc как решение

Решение

Informatikc,
Python
1
2
3
4
5
…
l = [(k, f[k]/n) for k in f.keys()]
l.sort(key = lambda x: (-x[1], x[0]))
s = "\n".join([i[0] + " " + "{:5.3f}".format(i[1]) for i in l])
Форматирование перед(!) записью в файл, после(!) вычислений…
И лучше f-строки:
Python
1
s = "\n".join([f'{i[0]} {i[1]:.3f}' for i in l])
1
97 / 47 / 6
Регистрация: 25.09.2022
Сообщений: 132
27.03.2023, 16:25  [ТС]
Gdez, спасибо большое!!! Программа заработала(23/23)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2023, 16:25
Помогаю со студенческими работами здесь

Задана строка символов. Строка содержит символы английского алфавита, пробелы, точку и запятые. Напишите программу, которая отразит зеркально заданное
Задана строка символов. Строка содержит символы английского алфавита, пробелы, точку и запятые. Напишите программу, которая отразит...

Задана строка символов. Строка содержит символы английского алфавита, пробелы, точку и запятые. Напишите программу, которая отразит зеркально заданное
Задана строка символов. Строка содержит символы английского алфавита, пробелы, точку и запятые. Напишите программу, которая отразит...

Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита
Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита. Вводится буква с клавиатуры - выводится к...

Напишите программу, в которой использовалась бы функция преобразования букв английского алфавита из прописной в строчную
Напишите программу, в которой использовалась бы функция преобразования букв английского алфавита из прописной в строчную и наоборот.

Частотный анализ для русского и английского текстов
Подскажите ПОЖАЛУЙСТА код к программе. Разработать программу, которая для текстового файла, содержащего текст на русском и английском...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru