Uploaded by vasyl1234shymin

LB-5

advertisement
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №5
з курсу: «Програмування скрипковими мовами»
на тему: «Програмування з використанням списків»
Варіант №15
Львів 2022
МЕТА РОБОТИ - ознайомитись з списками та їх можливостями у мові Python.
ЗАВДАННЯ
1.
Написати програму яка створює і виводить список, що містить
послідовність цілих чисел з n елементів задану формулою згідно таблиці 2
Список створити двома способами: з допомогою циклу та генератору списків.
Для створеного списку:
a. Виведіть елементи з індексами від 3 до 5.
b. Замініть перший елемент останнім.
с. Об’єднайте початковий список і отриманий на кроці b.
d. Додайте до списку ще три елементи зі значеннями перших трьох.
e. Виведіть максимальне і мінімальне значення в списку.
f. Видаліть всі елементи менші за середньоарифметичне значення.
15
9n + 1
11
-5
1
2.
Написати програму яка створює і виводить двовимірний список з 5
елементів. Кожен елемент списку представляє собою список, який містить опис
атрибутів об’єкту згідно таблиці 3. Організуйте діалоговий режим із вводом з
клавіатури, який дозволяє робити такі операції:
a. Вивести весь список.
b. Додавати елементи до списку.
c. Відсортувати список за заданим атрибутом.
d. Видаляти елементи за заданим атрибутом.
e. Видаляти елемент за заданим індексом.
f. Виводити всі елементи за заданим атрибутом.
15
Собака
Порода, кличка, вік, вага
ЛІСТИНГ ПРОГРАМИ
1.
arr = [ ]
n = -5
for i in range(11):
arr.append(9*n+1)
n += 1
print(f'Список, створений за допомогою циклу: \n{arr}')
arr_1 = [9*n+1 for n in range(-5,6,1)]
print(f'Список, створений за допомогою генератора списків:\n {arr_1}')
print("a. Виведіть елементи з індексами від 3 до 5")
print(arr[3:6])
print("b. Замініть перший елемент останнім")
arr_change = arr[:]
last_element = arr[len(arr) - 1]
arr_change[0] = last_element
print(arr_change)
print("с. Об’єднайте початковий список і отриманий на кроці b")
couple_arr = arr + arr_change
print(couple_arr)
print("d. Додайте до списку ще три елементи зі значеннями перших трьох.")
couple_arr.extend([couple_arr[0], couple_arr[1], couple_arr[2]])
print(couple_arr)
print("e. Виведіть максимальне і мінімальне значення в списку")
print(f" Максимальне значення в списку:{max(couple_arr)} \n Мінімальне значення в
списку:{min(couple_arr)}")
print("f. Видаліть всі елементи менші за середньоарифметичне значення")
new_arr = []
x = sum(couple_arr) / len(couple_arr)
for i in couple_arr:
if i >= x:
new_arr.append(i)
print(f"Середнє арифметичне елементів списку:{x}")
print(f"Новий список(без елементів, менших за середнє арифметичне):\n{new_arr}")
Результат
2.
categories = [
["Вівчарка", "Рекс",5, 30]
["Пікінес", "Рой", 1, 5]
["Хаскі", "Пушок", 6, 40]
["Бульдог", "Шарік", 2, 30]
["Лабрадор", "Джек", 4, 30]
]
def list_matrix(list_mt):
atributes = [
"Порода собаки",
"Кличка",
"Вік(роки)",
"Вага(кг)"
]
for y in atributes:
print('{0:<15}'.format(y), end='\t')
print()
for x in list_mt:
for y in x:
print('{0:<15}'.format(y), end='\t')
print()
list_matrix(categories)
while True:
user_value = int(
input(
"""Введіть число щоб обрати функцію:
1 - Вивести весь список
2 - Додати елемент до списку
3 - Сортувати список за заданим атрибутом
4 - Видалити елементи за заданим атрибутом
5 - Видалити елемент за заданим індексом
6 - Виводити всі елементи за заданим атрибутом:
7 - Вийти
:"""
)
)
if user_value == 1:
print(list_matrix(categories))
elif user_value == 2:
dog_breed = input("Порода собаки:")
dog_name = input("Кличка:")
dog_age = input("Вік(роки):")
dog_weight = input("Вага(кг):")
categories.append(
[dog_breed, dog_name, dog_age, dog_weight]
)
list_matrix(categories)
elif user_value == 3:
atr = int(
input(
"""За яким атрибутом хочете відсортувати?
0 - Порода собаки
1 - Кличка
2 - Вік(роки)
3 - Вага(кг)
: """
)
)
categories = sorted(categories, key=lambda elem: elem[atr])
list_matrix(categories)
elif user_value == 4:
print(
"Видалити елементи за атрибутом:\n",
"0 - Порода собаки\n",
"1 - Кличка\n",
"2 - Вік(роки)\n",
"3 - Вага(кг)\n"
)
index = input(">: ")
if index.isdigit() and (int(index) in range(len(categories))):
atr_for_del = input("Введіть атрибут: ")
deletion_happend = False
while True:
for i in range(len(categories)):
if atr_for_del in categories[i][int(index)]:
print(f"Видалено: {categories.pop(i)}")
deletion_happend = True
break
else:
if not deletion_happend:
print(
f"Рядів з атрибутом {atr_for_del} в індексі {index} не знайдено"
)
break
print()
elif user_value == 5:
index = input("Введіть індекс, за яким бажаєте видалити елемент: ")
index = int(index)
categories.pop(index)
elif user_value == 6:
print(
"За яким атрибутом хочете вивести всі елементи?\n",
"0 - Порода собаки\n",
"1 - Кличка\n",
"2 - Вік(роки)\n",
"3 - Вага(кг)\n"
)
index = input(">: ")
attribute = input("Введіть атрибут: ")
if index.isdigit():
for l in categories:
if attribute in l[int(index)]:
print(l)
else:
break
РЕЗУЛЬТАТ
ВИСНОВОК
На цій лабораторній роботі я ознайомився з списками та їх можливостями у
мові Python.
Було розроблено дві програми для створення та виведення списків, згідно
свого варіанту. Для розробки цієї програми використовувались функції для
роботи зі списками, які здатні створювати список, додавати елементи,
замінюювати їх, видаляти, обчислювати суму значень в списку і т.д.
Download