Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТП2

.docx
Скачиваний:
0
Добавлен:
12.04.2025
Размер:
134.51 Кб
Скачать

ГУАП

КАФЕДРА 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Ассистент

Е.К. Григорьев

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2

МНОЖЕСТВА, СЛОВАРИ И ПОБИТОВЫЕ ОПЕРАЦИИ

по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4116

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

Цель работы: познакомиться с основными способами работы с множествами, словарями и побитовыми операциями средствами языка программирования Python.

Вариант 23:

Ход работы:

Часть 1(Задания по множествам (4, 8, 10, 14))

Задание 4. Дано множество my_set = {0, 1, 2, 'b', 4, 5, 6, 7, 10, 'a'}. Добавьте в него новый элемент (4, 'c') и выведите в терминал полученный результат.

Код программы 1:

my_set = {0, 1, 2, "b", 4, 5, 6, 7, 10, "a"}

my_set.update((4, "c"))

print(my_set)

Пояснение к коду: для добавления кортежа в множество использовался метод update(), который позволяет добавлять несколько элементов.

Рисунок 1- Результат работы программы 1

Задание 8. Дан список my_list = [1, 0, 'Hi', 10] и множество my_set = {3, 5, 'b'}. Добавьте элементы списка в множество не используя циклы и выведите в терминал полученный результат.

Код программы 2:

my_list = [1, 0, "Hi", 10]

my_set = {3, 5, "b"}

my_set.update(my_list)

print(my_set)

Рисунок 2- результат работы программы 2

Задание 10. Дана строка my_str = ' Найдите сумму его неповторяющихся элементов '. Сформируйте из него множество, содержащее уникальные символы, и выведите в терминал полученный результат.

Результат работы программы 3:

my_str = " Найдите сумму его неповторяющихся элементов "

my_str = set(my_str)

print(my_str)

Пояснение к коду: чтобы сформировать из строки множество использовалась функция set().

Рисунок 3- результат работы программы 3

Задание 14. Дано множество A = {0, 1, 2, 6, 7, 8, 9} и B = {1, 3, 6, 10, 9, 21, 5}. Найдите разницу A - B и выведите полученный результат в терминал.

Код программы 4:

A = {0, 1, 2, 6, 7, 8, 9}

B = {1, 3, 6, 10, 9, 21, 5}

print(A - B)

Рисунок 4- результат работы программы 4

Часть 2: Задания по словарям (10, 11, 13, 15)

Задание 10. Дан словарь my_dict = {1: 10, 'a': 5, 'b': -2, 15: 68, 2: -9, 6: 27}. Выведите в терминал значение, которое хранится по ключу «6».

Код программы 5:

my_dict = {1: 10, 'a': 5, 'b': -2, 15: 68, 2: -9, 6: 27}

print(my_dict[6])

Рисунок 5-результат работы программы 5

Задание11: .Дан список my_list1 = [1, 2, 3, 4, 9, 7, 4] и my_list2 = [2, 13, 4, 8, 7, 6]. Напишите программу, формирующую словарь, где в качестве ключей выступают элементы первого списка, а в качестве значений - второго. Выведите в терминал полученный результат. Для решения задачи запрещено использовать циклы.

Код программы 6:

my_list1 = [1, 2, 3, 4, 9, 7, 4]

my_list2 = [2, 13, 4, 8, 7, 6]

d = dict(zip(my_list1, my_list2))

print(d)

Пояснение к коду: для создания словаря в котором используются элементы из нескольких источников данных (в данном случае списков) используется функция zip().

Рисунок 6- результат работы программы 6

Задание 13. Дан словарь my_dict = {'name': 'Alex', 'age':25, 'salary': 8000}. Измените имя ключа с 'age' на 'years' и выведите в терминал полученный результат.

Код программы 7:

my_dict = {"name": "Alex", "age": 25, "salary": 8000}

my_dict["years"] = my_dict.pop("age")

print(my_dict)

Пояснение к программе: для изменения имени ключа используется метод pop(), который сначала возвращает значение указанного ключа, а затем удаляет его из словаря.

Рисунок 7-результат работы программы 7

Задание 15: Дан словарь my_dict = {'name': 'Alex', 'age':25, 'salary': 8000}. Сформируйте список из значений словаря и выведите в терминал полученный результат. Для решения задачи запрещено использовать циклы.

Код программы:

my_dict = {"name": "Alex", "age": 25, "salary": 8000}

my_list = list(my_dict.values())

print(my_list)

Рисунок 8- результат работы программы 8

Часть 3:

Задания на побитовые операции (6, 12, 13, 14):

Задание 6: Дана переменная z = 0b1011010. Проверьте установлен ли ее левый бит в единицу или нет и выведите полученный результат в терминал

Код программы 9:

z = 0b1011010

print(((z >> 6) & 1) == 1)

Пояснение кода: чтобы сравнить левый бит с единицей использовался сдвиг вправо и операция & (и).

Рисунок 9- результат работы программы

Задание 12: Дана переменная z = 138 и х = 15. Используя побитовые операции и не прибегая к буферной переменной, поменяйте значение этих переменных местами и выведите полученный результат в терминал.

Код программы 9:

z = 138

x = 15

z = z ^ x

x = z ^ x

z = z ^ x

print("z = ", z)

print("x = ", x)

Пояснение кода: чтобы поменять значения переменных местами, использовалась операция xor (^)

Рисунок 10- результат работы программы 10

Задание 13: на вход программы поступает число z. Используя побитовые операции проверьте является ли оно четным и выведите полученный результат в терминал.

Код программы 11:

z = int(input("Введите число: "))

if z & 1 == 0:

print(" Число z чётное ")

else:

print("Число z нечётное")

Пояснение к коду: число является чётным тогда, когда двоичная запись этого числа оканчивается на 0. Поэтому была использована операция & (и).

Рисунок 11- результат работы программы 11

Задание 14: Дана переменная z = 0b1011010. Используя операции сдвига установить 4 правых бита в ноль и выведите полученный результат в терминал.

Код программы 12:

z = 0b1011010

z = z >> 4

z = z << 4

print(bin(z))

Рисунок 12- Результат работы программы 12

Выводы: в ходе лабораторной работы изучены основные способы работы с множествами, словарями и побитовыми операциями средствами языка программирования Python.

При работе с множествами использовались метод update (), который позволяет добавлять несколько элементов в множество и функция set(), которая формирует множество.

При работе со словарями использовался метод pop(), позволяющий возвращать значение ключа, а затем удалять его из словаря и функция zip(), которая создаёт итератор, объединяющий элементы из нескольких источников.

При работе с побитовыми операциями использовалась функция bin(), которая представляет десятичное число в двоичном формате. Использовались такие операции, как xor (исключительное или), &(и) и также сдвиги.

Соседние файлы в предмете Технологии программирования