5.9 KiB
Тест по модулю 1. Вариант 30
Степанов Артём, А-02-23
Задание 1
Можно ли работать со средой без использования интерактивной оболочки IDLE?
Ответ
Да, со средой Python можно работать без использования интерактивной оболочки IDLE. Для этого необходимо открыть программу интерпретатор для используемой версии Python и после после симвогов приглашения к диалогу (">>>") вводить необходимые команды.
Задание 2
Создайте объект-множество с 6 элементами - названиями статистик ("Колмогорова-Смирнова",:). Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
Решение
>>> statistics = {"Стьюдента", "Фишера", "Колмогорова-Смирнова", "Пирсона", "Колмогорова", "Смирнова"}
>>> type(statistics) # Проверка типа объекта
<class 'set'>
>>> dir(statistics) # Отображение списка атрибутов объекта
['__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
Напишите инструкцию, позволяющую проверить наличие во множестве статистики Пирсона. Если ее нет во множестве - напишите инструкцию ее добавления, иначе - исключения из множества. Отобразите полученное множество.
Решение
>>> "Пирсона" in statistics # Проверка наличия статистики Пирсона во множестве
True
>>> if ("Пирсона" in statistics):
... statistics.remove("Пирсона") # Если она в нём есть, то она удаляется из него, в противном случае - добавляется
... else:
... statistics.add("Пирсона")
...
>>> statistics # Отображение измененного множества
>>> {'Фишера', 'Стьюдента', 'Смирнова', 'Колмогорова-Смирнова', 'Колмогорова'}
Задание 4
Преобразуйте множество в список. Добавьте в конец списка ещё 2 статистики: Бартлетта и Крамера. Удалите из списка второй от начала элемент. Отобразите получившийся объект.
Решение
>>> statisticsList = list(statistics) # Преобразование объекта-множества в список
>>> type(statisticsList) # Проверка типа объекта
<class 'list'>
>>> statisticsList.append("Бартлетта") # Добавление нового элемента в конец списка
>>> statisticsList.append("Крамера")
>>> statisticsList # Отображение списка после добавления 2 элементов
['Фишера', 'Стьюдента', 'Смирнова', 'Колмогорова-Смирнова', 'Колмогорова', 'Бартлетта', 'Крамера']
>>> statisticsList = [statisticsList[0],] + list(statisticsList[2:]) # Удаление второго с начала элемента списка
>>> statisticsList # Отображение окончательного списка
['Фишера', 'Смирнова', 'Колмогорова-Смирнова', 'Колмогорова', 'Бартлетта', 'Крамера']
Задание 5
Преобразуйте множество в символьную строку. Напишите инструкцию создания нового списка путем разделения строки на подстроки с разделителем "," (запятая). Отобразите полученный список.
Решение
>>> statisticsStr = str(statistics) # Преобразование объекта-множества в символьную строку
>>> type(statisticsStr) # Проверка типа объекта
<class 'str'>
>>> statisticsStr # Отображение полученной символьной строки
"{'Фишера', 'Стьюдента', 'Смирнова', 'Колмогорова-Смирнова', 'Колмогорова'}"
>>> statisticsList2 = statisticsStr.split(",") # Разделение строки на список подстрок с разделителем ","
>>> type(statisticsList2) # Проверка типа объекта
<class 'list'>
>>> statisticsList2 # Отображение полученного списка
["{'Фишера'", " 'Стьюдента'", " 'Смирнова'", " 'Колмогорова-Смирнова'", " 'Колмогорова'}"]