Програмування з використанням кортежів, словників та множин
Автор: Анастасія Солоха • Ноябрь 25, 2024 • Лабораторная работа • 913 Слов (4 Страниц) • 18 Просмотры
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра ЗІ
[pic 1]
ЗВІТ
до лабораторної роботи №6
з курсу: “Технології програмування, частина 1”
на тему: “ Програмування з використанням кортежів, словників та множин”
Виконала:
Солоха А. В.
КБ-101
Прийняв:
Крет Т. Б.
Львів – 2024
Мета роботи – ознайомитись з кортежами, словниками і множинами та їх можливостями у мові Python.
Варіант 21
Завдання 1.
[pic 2]
n = 1
step = 2
elements_count = 22
tuple_values = tuple(5 * n**2 + 7 * n - 2 for n in range(1, 1 + step * elements_count, step))
print("Початковий кортеж:", tuple_values)
print("Елементи з індексами від 3 до 5:", tuple_values[3:6])
modified_tuple = (tuple_values[-1],) + tuple_values[1:]
print("Кортеж після заміни першого елемента останнім:", modified_tuple)
combined_tuple = tuple_values + modified_tuple
print("Об'єднаний кортеж:", combined_tuple)
extended_tuple = combined_tuple + tuple_values[:3]
print("Розширений кортеж:", extended_tuple)
print("Максимальне значення в кортежі:", max(extended_tuple))
print("Мінімальне значення в кортежі:", min(extended_tuple))
average_value = sum(extended_tuple) / len(extended_tuple)
filtered_tuple = tuple(x for x in extended_tuple if x >= average_value)
print("Кортеж після видалення елементів менших за середнє:", filtered_tuple)
[pic 3]
Завдання 2.
set1 = set("Солоха".lower())
set2 = set("Анастасія".lower())
set3 = set("Володимирівна".lower())
ukrainian_alphabet = set("абвгґдеєжзиіїйклмнопрстуфхцчшщьюя")
print("Множина set1 (прізвище):", set1)
print("Множина set2 (ім'я):", set2)
print("Множина set3 (по батькові):", set3)
common_set2_set3 = set2 & set3
print("a. Літери, які є в set2 і set3:", common_set2_set3)
union_set1_set2 = set1 | set2
print("b. Літери, які є і в set1 або set2:", union_set1_set2)
difference_set2_set1 = set2 - set1
print("c. Літери set2, яких немає в set1:", difference_set2_set1)
is_subset = set1.issubset(set3)
print("d. Чи є set1 підмножиною set3:", is_subset)
symmetric_difference_set1_set2 = set1 ^ set2
print("e. Літери, які є в set1 або set2, але не в обидвох:", symmetric_difference_set1_set2)
two_of_three = (set1 & set2) | (set2 & set3) | (set1 & set3)
print("f. Літери, які є в двох множинах з трьох:", two_of_three)
only_one_of_three = (set1 - set2 - set3) | (set2 - set1 - set3) | (set3 - set1 - set2)
print("g. Літери, які є лише в одній множині з трьох:", only_one_of_three)
missing_in_all_sets = ukrainian_alphabet - (set1 | set2 | set3)
print("h. Літери алфавіту, яких немає в жодній з множин:", missing_in_all_sets)
missing_in_each_set = (ukrainian_alphabet - set1) & (ukrainian_alphabet - set2) & (ukrainian_alphabet - set3)
print("i. Літери алфавіту, яких немає у кожній з трьох множин:", missing_in_each_set)
[pic 4]
Завдання 3.
[pic 5]
database = []
def print_database():
if database:
for i, car in enumerate(database):
print(f"{i}: {car}")
else:
print("База даних порожня.")
def add_car():
manufacturer = input("Введіть виробника: ")
model = input("Введіть модель: ")
year = int(input("Введіть рік випуску: "))
mileage = int(input("Введіть пробіг: "))
max_speed = int(input("Введіть максимальну швидкість: "))
car = {
"Виробник": manufacturer,
"Модель": model,
"Рік випуску": year,
"Пробіг": mileage,
"Макс. швидкість": max_speed
}
database.append(car)
print("Автомобіль додано до бази даних.")
def sort_database():
attribute = input("Введіть атрибут для сортування (Виробник, Модель, Рік випуску, Пробіг, Макс. швидкість): ")
if attribute in database[0]:
database.sort(key=lambda car: car[attribute])
print(f"База даних відсортована за атрибутом '{attribute}'.")
else:
print(f"Атрибут '{attribute}' не знайдено.")
def delete_by_index():
index = int(input("Введіть індекс для видалення: "))
if 0 <= index < len(database):
removed = database.pop(index)
print(f"Автомобіль видалено: {removed}")
else:
print("Некоректний індекс.")
def delete_by_value():
attribute = input("Введіть атрибут для пошуку (Виробник, Модель, Рік випуску, Пробіг, Макс. швидкість): ")
value = input("Введіть значення атрибуту для видалення: ")
found = False
for car in database:
if str(car.get(attribute)) == value:
database.remove(car)
print(f"Автомобіль видалено: {car}")
found = True
break
if not found:
print("Автомобіль з таким значенням не знайдено.")
def print_by_attribute():
attribute = input("Введіть атрибут для відображення (Виробник, Модель, Рік випуску, Пробіг, Макс. швидкість): ")
if attribute in database[0]:
for car in database:
print(car[attribute])
else:
print(f"Атрибут '{attribute}' не знайдено.")
while True:
print("\nМеню:")
print("a. Вивести всю БД")
print("b. Додати елемент до БД")
print("c. Відсортувати БД за атрибутом")
print("d. Видалити елемент за індексом")
print("e. Видалити елемент за значенням атрибуту")
print("f. Вивести всі елементи за атрибутом")
print("q. Вийти")
choice = input("Оберіть опцію: ")
if choice == 'a':
print_database()
elif choice == 'b':
add_car()
elif choice == 'c':
sort_database()
elif choice == 'd':
delete_by_index()
elif choice == 'e':
delete_by_value()
elif choice == 'f':
print_by_attribute()
elif choice == 'q':
print("Вихід з програми.")
break
else:
print("Некоректний вибір, спробуйте ще раз.")
...