# Тест по теме 3 Савин Семён, А-02-23 ## Вариант 26. ## Вопрос 1. Можно ли с помощью оболочки IDLE создавать загрузочные (ЕХЕ,СОМ) программы? В самом IDLE нельзя создавать загрузочные файлы, только скрипты, после чего можно преобразовать в сторонних программах. ## Вопрос 2. Задание: Создайте объект-множество с 8 элементами - статистическими терминами ("среднее значение",:). Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. ## Решение ```py mnozstat = {"среднее значение", "медиана", "дисперсия", "корелляция", "стандартное отклонение", "выборка", "математическое ожидание"} mnozstat {'медиана', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'} type(mnozstat) dir(mnozstat) ['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update'] ``` ## Вопрос 3. Задание: Напишите инструкцию удаления из множества одного из терминов, например, "среднее значение". Добавьте вместо него термин "математическое ожидание". Отобразите на экране получившийся объект. ## Решение ```py mnozstat {'медиана', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'} mnozstat.remove("медиана") mnozstat {'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'} mnozstat.add("математическое ожидание") mnozstat {'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'} mnozstat.add("матожидание") mnozstat {'матожидание', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'} ``` При добавлении "Математическое ожидание" множество не изменилось, т.к. множество содержит неповторяющиеся объекты. Доавил вместо этого "матожидание". ## Вопрос 4. Задание: Преобразуйте множество в список. Отобразите полученный объект. Добавьте в конец списка значение "гетероскедастичность". Напишите инструкцию вывода из этого значения в списке символов, начиная с 7-го и до 13-го. ## Решение ```py liststat = list(mnozstat) liststat ['матожидание', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение'] liststat.append("гетероскедастичность") liststat ['матожидание', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение', 'гетероскедастичность'] liststat[-1] 'гетероскедастичность' stringtest=liststat[-1] stringtest 'гетероскедастичность' stringtest[6:13] 'скедаст' ``` Два способа - первый не использует дополнительную переменную. ## Вопрос 5. Задание: Создайте на основе множества словарь, в котором ключи - термины из множества, а значения - код термина (например, число - порядковый номер). ## Решение ```py slovtest1 = dict(zip(liststat,["M1","M2","M3","M4","M5","M6","M7","M8"])) slovtest1 {'матожидание': 'M1', 'выборка': 'M2', 'стандартное отклонение': 'M3', 'корелляция': 'M4', 'дисперсия': 'M5', 'математическое ожидание': 'M6', 'среднее значение': 'M7', 'гетероскедастичность': 'M8'} slovtest.keys() dict_keys(['матожидание']) slovtest1.keys() dict_keys(['матожидание', 'выборка', 'стандартное отклонение', 'корелляция', 'дисперсия', 'математическое ожидание', 'среднее значение', 'гетероскедастичность']) slovtest1.values() dict_values(['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8']) slovtest2 = dict(zip(mnozstat,[1,2,3,4,5,6,7,8])) slovtest2 {'матожидание': 1, 'выборка': 2, 'стандартное отклонение': 3, 'корелляция': 4, 'дисперсия': 5, 'математическое ожидание': 6, 'среднее значение': 7} ``` Через dict(zip()) можно "сшить" и два списка, и список со множеством, чтобысоздать словарь.