Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Об’єктно-орієнтоване програмування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Кібербезпека
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2020
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування скриптовими мовами
Варіант:
23 24

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА кафедра ЗІ З В І Т до лабораторної роботи №9 з курсу: «Програмування скриптовими мовами» на тему: «Об’єктно-орієнтоване програмування» Варіант 23 Львів – 2020 МЕТА РОБОТИ Ознайомитись з роботою з файлами та обробкою виключень у мові Python. ЗАВДАННЯ Домашня підготовка до роботи Вивчити теоретичний матеріал. Виконати в лабораторії Написати програму яка створює клас з атрибутами об’єкту заданими в таблиці. Для класу повинен бути перевантажені оператори порівняння за останнім атрибутом (наприклад, для автомобіля операції порівняння за швидкістю). Атрибути об’єкту повинні бути приватними з доступом через властивості класу або get- і set-методи. На базі цього класу створити клас, який зберігає список об’єктів та підтримує методи, які дозволяють через діалоговий режим виконувати такі операції: a. Вивести весь список. b. Додавати елементи до списку. c. Відсортувати список за заданим атрибутом. d. Видаляти елементи за заданим атрибутом. e. Видаляти елемент за заданим індексом. f. Виводити всі елементи за заданим атрибутом Варіант Об’єкт Атрибути  3 (23) Пасажирський літак Виробник, модель, рік випуску, кількість пасажирів, макс. швидкість   РЕЗУЛЬТАТ ВИКОНАННЯ РОБОТИ 1. Лістинг програми. class Aircraft(object): def __init__(model, mf, year, np, speed): model.mf = mf model.year = year model.np = np model.speed = speed def get(model): return [model.mf, model.year, model.np, model.speed] EMB190 = Aircraft('Embraer', '2000', 106, '871 km/h') AN148 = Aircraft('ДП Антонов', '2009', 85, '870 km/h') B747 = Aircraft('Boeing', '1969', 452, '892 km/h') YAK40 = Aircraft('Саратовський авіазавод', '1966', 40, '546 km/h') aircraft = [ EMB190.get(), AN148.get(), B747.get(), YAK40.get(), ] def navBar(): print('a. Вивести весь список.\n' 'b. Додавати елементи до списку.\n' 'c. Відсортувати список за заданим атрибутом.\n' 'd. Видаляти елементи за заданим атрибутом.\n' 'e. Видаляти елемент за заданим індексом.\n' 'f. Виводити всі елементи за заданим атрибутом.\n' 's. Stop.\n') while True: value = input('Enter: ') if test(['a', 'A', 'b', 'B', 'C', 'c', 'd', 'D', 'E', 'e', 'F', 'f', 's', 'S'], value): return value.upper() else: print("Try again") def test(arr, value): for ac in arr: if ac == value: return True return False def qprintArr(arr): for el in range(len(arr)): for i in range(len(arr[el])): print(arr[el][i]) print('---------') def addAc(arr): mf = str(input('Manufacturer: ')) model = str(input('Model: ')) year = str(input('Year: ')) np = int(input('Number of passengers: ')) speed = str(input('Max speed: ')) model = Aircraft(mf, year, np, speed) aircraft.append(model.get()) def arrSort(arr, atr): arr.sort(key=lambda i: i[atr]) return arr def surchAcByAtr(arr, atr): elements = [] index = [] for el in range(len(arr)): for i in range(len(arr[el])): if str(arr[el][i]) == atr: elements.append(arr[el]) index.append(el) break return [elements, index] def delByIndex(arr, ind): calibration = 0 for i in ind: del arr[i - calibration] calibration += 1 return arr while True: value = navBar() if value == 'A': qprintArr(aircraft) input("Press Enter to continue...") elif value == 'B': aircraft.append(addAc(aircraft)) input("Press Enter to continue...") elif value == 'C': w = int(input('Sort By \n1:Manufacturer\n2:Model\n3:Year\n4:Nubmer of passengers\n5:Max speed\n')) qprintArr(arrSort(aircraft, w - 1)) input("Press Enter to cont...
Антиботан аватар за замовчуванням

21.05.2020 21:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини