Skip to content

Dasha25-git/Python_labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа 1

Основные задания:

Задание 1 - Привет и возраст

Программа запрашивает имя и возраст пользователя, затем выводит приветствие и возраст через год.

Код задания 1

Вывод задания 1

Задание 2 - Сумма и среднее

Программа принимает два вещественных числа (с точкой или запятой) и вычисляет их сумму и среднее арифметическое.

Код задания 2 Вывод задания 2

Задание 3 - Чек: скидка и НДС

Программа рассчитывает итоговую стоимость товара с учетом скидки и НДС.

Код задания 3 Вывод задания 3

Задание 4 - Минуты → ЧЧ:ММ

Программа преобразует количество минут в формат часов и минут.

Код задания 4 Вывод задания 4

Задание 5 - Инициалы и длина строки

Программа принимает ФИО, убирает лишние пробелы, выводит инициалы и длину строки.

Код задания 5 Вывод задания 5

Доп. задания:

Задание 6 - Подсчет участников

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

Код задания 6 Вывод задания 6

Лабораторная работа 2

Задание 1 - arrays.py

Программа состоит из трех функций. Первая функция возвращает кортеж из минимального и максимального элемента исходного списка, вторая - избавляется от дубликатов и сортирует по возрастанию, третья - «расплющивает» список списков/кортежей в один список по строкам.

Код задания:

Код задания 1 Вызываем тесты: Код задания 1 Вывод с ошибкой (по заданию - raise...) Код задания 1 Чтобы избавиться от ошибки в выводе, закомментировала "опасные" строки: Код задания 1 Вывод теперь: Код задания 1

Задание 2 - matrix.py

Программа состоит из трех функций. Первая функция транспонирует матрицы, вторая - суммирует по каждой строке, третья - суммирует по каждому столбцу.

Код задания:

Код задания 2 Код задания 2 Вызываем тесты: Код задания 1 Вывод с ошибкой (по заданию - raise...) Код задания 1 Чтобы избавиться от ошибки в выводе, закомментировала "опасные" строки: Код задания 1 Вывод теперь: Код задания 1

Задание 3 - tuples.py

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

Код задания:

Код задания 2 Код задания 2 Вызываем тесты: Код задания 1 Вывод Код задания 1

Лабораторная работа 3

Задание 1 - text.py

Программа состоит из 4 функций.

Функция normalize() - приводит текст к единому чистому виду. Она делает все буквы маленькими, меняет Ё на Е, убирает переносы строк, табуляции и лишние пробелы.

Код функции: Код задания 1. Функция 1

Функция tokenize() - режет текст на отдельные слова. Она находит все слова (буквы/цифры), видит слова с дефисами, игнорирует знаки препинания и эмодзи. Числа функция тоже считает словами.

Код функции: Код задания 1. Функция 2

Функция count_freq() - считает сколько раз каждое слово встречается в тексте. Она берет список слов, подсчитывает для каждого слова его количество раз (сколько встречается в тексте) и возвращает словарь вида слово:количество повторений.

Код функции: Код задания 1. Функция 3

Функция top_n() - находит самые популярные слова (топ-5). Она берет словарь с частотами, сортирует словарь по убыванию частоты (при равных частотах сортирует по алфавиту). Возвращает топ-N слов.

Код функции: Код задания 1. Функция 4

Лабораторная работа 4

Задание 1 - io_txt_csv

Функция read_text(path, encoding):

Читает весь текст из файла и возвращает его как одну строку.

Она принимает путь к файлу и кодировку (по умолчанию - utf8). Далее открывает файл, читает всё его содержимое и закрывает. Возвращает текст в виде строки.

Функция write_csv(rows, path, header)

Записывает данные в CSV-файл (табличный формат).

Она принимает данные в виде списка строк, путь для сохранения и заголовки. Потом проверяет, что все строки таблицы одинаковой длины. Создает CSV-файл. (Если передан заголовок, то записывает его первой строкой)

Функция ensure_parent_dir(path)

Создает все папки для пути к файлу, если они не существуют.

Она принимает путь к файлу, проверяет существование родительских папок и создаёт недостающие папки.

Код задания: Код задания 1. Скрин 1 Код задания 1. Скрин 2

Для теста создала доп. файл -- test_io_txt_csv Код теста для задания 1

Открываю файл через терминал Открытие файла Здесь уже есть отчёт, тк сначала я тестировала задание 2.

Задание 2 -- text_report

Эта программа анализирует текстовый файл, подсчитывает частоту встречаемости слов и создает отчет в формате CSV.

Программа проверяет, существует ли файл с текстом. Если его нет, то выводит ошибку и завершает работу. Если файл есть, то пытается его прочитать в указанной кодировке, если возникает ошибка, то предлагает попробовать другую кодировку. Проверяет, не пустой ли файл (иначе - создаёт пустой отчёт и завершает работу).

Обрабатывает текст. Для этого мы используем функции из прошлой лабораторной работы. Функция normalize(text) - приводит текст к нижнему регистру. Функция tokenize(text) - разбивает текст на отдельные слова. Также программа подсчитывает, сколько раз каждое слово встречается в тексте и сортирует слова: сначала по частоте (в порядке убывания), а потом по алфавиту.

Результаты сохраняются в csv-файл с колонками word и count. В терминале выводится статистика: общее кол-во слов в тексте, кол-во уникальных слов и список топ-N самых часто встречающихся слов.

Код задания: Задание 2. Код 1 Задание 2. Код 2

Запускаем файл через терминал: Задание 2. Запуск

Получаем новый файл report: Полученный файл

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages