Skip to content

Latest commit

 

History

History
99 lines (72 loc) · 5.86 KB

File metadata and controls

99 lines (72 loc) · 5.86 KB

Урок 10 "Объектно-ориентированное программирование (ООП)"

Наша задача: понять что такое ООП, зачем оно применяется и попробовать его на питоне. Поэтому вначале читаем общие положения:

https://younglinux.info/oopython/oop.php https://younglinux.info/oopython/objects.php - тут в конце два задания, надо сделать!

https://pythonworld.ru/osnovy/obektno-orientirovannoe-programmirovanie-obshhee-predstavlenie.html

На этом всё. Главное, разобраться с целями и задачами ООП. После чего приступим к детальному изучению его в питоне.

Задача 1

Создать класс Circle, конструктор которого принимает радиус. Класс должен иметь два метода, вычисляющие площадь и длину окружности. Пример вызова класса:

NewCircle = Circle(8)
print(NewCircle.area())
print(NewCircle.perimeter())

Задача 2

Создать класс Rectangle, конструктор которого принимает длину и ширину. Класс должен иметь два метода, вычисляющие площадь и периметр прямоугольника.

Задача 3

Создать классы, спецификации которых приведены ниже. Определить конструкторы . Определить дополнительно методы __str__. Определить дополнительно методы в классе, создающие массив объектов. Задать критерий выбора данных и вывести эти данные на консоль.

Михаил

Student: id, Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс, Группа. Создать массив объектов. Вывести: a) список студентов заданного факультета; b) списки студентов для каждого факультета и курса; c) список студентов, родившихся после заданного года; d) список учебной группы.

Сергей

Customer: id, Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Номер банковского счета. Создать массив объектов. Вывести: a) список покупателей в алфавитном порядке; b) список покупателей, у которых номер кредитной карточки находится в заданном интервале.

Алексей

Patient: id, Фамилия, Имя, Отчество, Адрес, Телефон, Номер ммедицинской карты, Диагноз. Создать массив объектов. Вывести: a) список пациентов, имеющих данный диагноз; b) список пациентов, номер медицинской карты которых находится в за- данном интервале.

Владимир Р.

Abiturient: id, Фамилия, Имя, Отчество, Адрес, Телефон, Оценки. Создать массив объектов. Вывести: a) список абитуриентов, имеющих неудовлетворительные оценки; b) список абитуриентов, у которых сумма баллов выше заданной; c) выбрать заданное число n абитуриентов, имеющих самую высокую сумму баллов (вывести также полный список абитуриентов, имеющих полупроходную сумму).

Владимир П.

Book: id, Название, Автор (ы), Издательство, Год издания, Количество стра- ниц, Цена, Тип переплета. Создать массив объектов. Вывести: a) список книг заданного автора; b) список книг, выпущенных заданным издательством; c) список книг, выпущенных после заданного года.

Олег

House: id, Номер квартиры, Площадь, Этаж, Количество комнат, Улица, Тип здания, Срок эксплуатации. Создать массив объектов. Вывести: a) список квартир, имеющих заданное число комнат; b) список квартир, имеющих заданное число комнат и расположенных на этаже, который находится в заданном промежутке; c) список квартир, имеющих площадь, превосходящую заданную.

Саша

Phone: id, Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Дебет, Кредит, Время городских и междугородных разговоров. Создать массив объектов. Вывести: a) сведения об абонентах, у которых время внутригородских разговоров превышает заданное; b) сведения об абонентах, которые пользовались междугородной связью; c) сведения об абонентах в алфавитном порядке.