You are on page 1of 11

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”

ІКТА
кафедра ЗІ

ЗВІТ
до лабораторної роботи №6
з курсу:
«Програмування скриптовими мовами»
на тему:
«Програмування з використанням кортежів, словників та множин»

Варіант 23

Львів – 2020
http://antibotan.com/ - Всеукраїнський студентський архів

МЕТА РОБОТИ
Ознайомитись з кортежами, словниками і множинами та їх можливостями у
мові Python.
ЗАВДАННЯ
1. Домашня підготовка до роботи
Вивчити теоретичний матеріал.
2. Виконати в лабораторії
Написати програму яка створює і виводить кортеж, що містить
послідовність цілих чисел з n елементів задану формулою згідно таблиці 6.
Для створеного кортежу:
a. Виведіть елементи з індексами від 3 до 5.
b. Замініть перший елемент останнім.
с. Об’єднайте початковий кортеж і отриманий на кроці b.
d. Додайте до кортежу ще три елементи зі значеннями перших трьох.
e. Виведіть максимальне і мінімальне значення в кортежі.
f. Видаліть всі елементи менші за середньоарифметичне значення.

Кількість елементів Початкове


Варіант Формула Крок
списку значення n
23 6n+7 12 4 7

2. Написати програму яка створює дві множини: в одну входять літери вашого
прізвища, у другий - літери вашого імені. Визначте і виведіть:
a. Всі літери, які є в прізвищі та імені.
b. Літери, які є і в імені і в прізвищі.
с. Літери імені, яких немає в прізвищі.
d. Всі літери за винятком тих, які є і в імені і в прізвищі.

3. Написати програму яка створює і виводить словник з 5 елементів згідно


таблиці 7. Організуйте діалоговий режим із вводом з клавіатури, який
дозволяє робити такі операції:
a. Вивести весь словник.
http://antibotan.com/ - Всеукраїнський студентський архів

b. Додавати елементи до словника.


c. Відсортувати словник за зростанням чи спаданням.
d. Видаляти елементи за заданим ключем.
e. Видаляти елемент за заданим значенням.
f. Виводити всі елементи за заданим значенням.

Варіант Об’єкт Ключ: Значення


Виробник: модель, рік випуску, кількість
3 (23) Пасажирський літак
пасажирів, макс. швидкість

РЕЗУЛЬТАТ ВИКОНАННЯ РОБОТИ


1. Лістинг програми.
import math

obj = []
for n in range(4, 88, 7):
obj.append(round(6*n + 7))
obj = tuple(obj)

print(obj)

print("a:")
for i in range(3,5):
print(obj[i])
#
newObj = list(obj)
print('b:')
newObj[len(obj) - 1], newObj[0] = newObj[0], newObj[len(obj) - 1]
newObj = tuple(newObj)
print(newObj)
#
print('c:')
newObj = list(obj)
obj = list(obj)
print(tuple(obj + newObj))
#
print('d:')
obj = list(obj)
obj.append(obj[0])
obj.append(obj[1])
obj.append(obj[2])
obj = tuple(obj)
print(obj)
#
print('e:')
http://antibotan.com/ - Всеукраїнський студентський архів

print('Min: ', min(obj))


print('Max: ', max(obj))
#
print('f:')
average = sum(obj)/len(obj)
i = 0
print('Average: ', average)
print('obj before: ', obj)
obj = list(obj)
while True:
if i == len(obj):
break
if obj[i] < average:
del obj[i]
else:
i += 1
obj = tuple(obj)
print('obj after: ', obj)

# Task2

ln = {'Т','а','р','а','с','о','в','а'}
fn = {'О','л','е','н', 'а'}
#

print('a:')
for i in fn:
print(i)
for i in ln:
print(i)

print('----------------------------')
print('b:')
new = set(list(fn) + list(ln))
for i in new:
print(i)

print('----------------------------')
print('c:')
abet = 'АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ'
for b in abet:
test = True
for i in new:
if i.upper() == b:
test = False
if test:
print(b)
#

# Task3

aircraft = {
'Embraer' :['Embraer 190','2000',106, '871 km/h'],
'ДП Антонов':['АН-148','2009',85, '870 km/h'],
'Boeing':['747','1969',452, '892 km/h'],
'Саратовський авіазавод':['ЯК-40','1966',40, '564 km/h'],
'Антонов':['АН-158','2010',83, '870 km/h'],
}
http://antibotan.com/ - Всеукраїнський студентський архів

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 key in arr:
for i in arr[key]:
print(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: '))
aircraft [mf] = [model, year, np, speed]

def arrSort(d, atr):


list_d = list(d.items())
list_d.sort(key=lambda i: i[1][atr])
for i in list_d:
print(i[0], ':', i[1])

def surchAcByAtr(arr, atr):


elements = {}
index = []
for el in arr.keys():
for i in range(len(arr[el])):
if str(arr[el][i]) == atr:
print(el)
elements[el] = arr[el]
index.append(el)
break
return [elements,index]

def delByKey(arr, ind):


del arr[ind]
return arr
http://antibotan.com/ - Всеукраїнський студентський архів

def delByIndex(arr, ind):


for i in ind:
del arr[i]
return arr

while True:
value = navBar()
if value == 'A':
qprintArr(aircraft)
input("Press Enter to continue...")
elif value == 'B':
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'))
arrSort(aircraft, w-1)
input("Press Enter to continue...")
elif value == 'D':
key = aircraft.keys()
for i in key:
print(i)
atr = input('Entry key for del: ')
employee = delByKey(aircraft, atr)
qprintArr(aircraft)
input("Press Enter to continue...")

elif value == 'E':


atr = input('Entry atr for del: ')
aircraft = delByIndex(aircraft, surchAcByAtr(aircraft, atr)[1])
qprintArr(aircraft)
input("Press Enter to continue...")
elif value == 'F':
atr = input('Entry atr for print: ')
qprintArr(surchAcByAtr(aircraft, atr)[0])
input("Press Enter to continue...")
elif value == 'S':
break

2. Результат роботи програми.


http://antibotan.com/ - Всеукраїнський студентський архів
http://antibotan.com/ - Всеукраїнський студентський архів
http://antibotan.com/ - Всеукраїнський студентський архів
http://antibotan.com/ - Всеукраїнський студентський архів
http://antibotan.com/ - Всеукраїнський студентський архів

ВИСНОВОК
В процесі виконання лабораторної роботи я ознайомилась з кортежами,
словниками і множинами та їх можливостями у мові Python.

You might also like