diff --git a/TEMA3/test.md b/TEMA3/test.md new file mode 100644 index 0000000..d589a67 --- /dev/null +++ b/TEMA3/test.md @@ -0,0 +1,75 @@ +# Выполнение модульного задания + +Голощапов Дмитрий , А-01-23 + +# Задание + +M1_15 + +1) Можно ли создавать программы для среды Python с помощью других текстовых редакторов? + +2) Создайте объект-список с 4 элементами: 1-й - год вашего рождения, 2-й - список изучаемых в семестре дисциплин, по которым будут сдаваться экзамены , 3-й - список ожидаемых оценок на экзаменах, 4-й - ваша фамилия ИО. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. + +3) Напишите инструкции, позволяющую создать новый список, включающий взятые из исходного списка название первой экзаменационной дисциплины и ожидаемую по ней оценку. Отобразите созданный объект на экране. + +4) Создайте словарь, в котором ключами будут названия экзаменационных дисциплин, взятые из списка, а значениями - ожидаемые оценки по этим дисциплинам из того же списка. Отобразите полученный объект. + +5) Напишите инструкцию, которая, используя данные из словаря, обеспечит расчет среднего балла по оценкам на экзаменах. Используя операцию подстановки значений в строку, отобразите результат в виде: "Средний балл=:.". + +# Решение + +## Можно ли создавать программы для среды Python с помощью других текстовых редакторов? + +Да, программы для Python можно создавать с помощью любых текстовых редакторов (например, Notepad++, Sublime Text). +Однако затем файл необходимо сохранить с расширением .py. + +## Создайте объект-список с 4 элементами: 1-й - год вашего рождения, 2-й - список изучаемых в семестре дисциплин, по которым будут сдаваться экзамены , 3-й - список ожидаемых оценок на экзаменах, 4-й - ваша фамилия ИО. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. + + >>> personal_data = [ + ... 2005, + ... ["ТАУ", "ИАД", "Схемотехника", "ЭСУ"], + ... [5, 4, 5, 4], + ... "Голощапов Д.Е." + ... ] + >>> personal_data + [2005, ['ТАУ', 'ИАД', 'Схемотехника', 'ЭСУ'], [5, 4, 5, 4], 'Голощапов Д.Е.'] + >>> type(personal_data) #Определение типа объекта + + >>> dir(personal_data) #Отображение списка атрибутов + ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] + +## Напишите инструкции, позволяющую создать новый список, включающий взятые из исходного списка название первой экзаменационной дисциплины и ожидаемую по ней оценку. Отобразите созданный объект на экране. + + >>> fs = personal_data[1][0] #Определение первого предмета + >>> fs + 'ТАУ' + >>> fg=personal_data[2][0] #Определение оценки + >>> fg + 5 + >>> nl=[fs,fg] + >>> nl + +## Создайте словарь, в котором ключами будут названия экзаменационных дисциплин, взятые из списка, а значениями - ожидаемые оценки по этим дисциплинам из того же списка. + + >>> s = personal_data[1] + >>> s + ['ТАУ', 'ИАД', 'Схемотехника', 'ЭСУ'] + >>> g=personal_data[2] + >>> g + [5, 4, 5, 4] + >>> d=dict(zip(s,g)) + >>> d + {'ТАУ': 5, 'ИАД': 4, 'Схемотехника': 5, 'ЭСУ': 4} + +## Напишите инструкцию, которая, используя данные из словаря, обеспечит расчет среднего балла по оценкам на экзаменах. Используя операцию подстановки значений в строку, отобразите результат в виде: "Средний балл=:.". + + >>> c=sum(d.values())/len(d) + >>> c + 4.5 + >>> str1='Средний балл=:{}' + >>> str1.format(c) + 'Средний балл=:4.5' + + + + diff --git a/TEMA4/report.md b/TEMA4/report.md index c194078..9f320bf 100644 --- a/TEMA4/report.md +++ b/TEMA4/report.md @@ -76,6 +76,8 @@ >>> gg 221.456 +Отличие eval() от exec() в том, что eval() вычисляет выражение , а exec() выполняет инструкции . Выражения — подмножество инструкций, отличающееся наличием результата. Например, 1, 1+2, a+3 — выражения, а присваивание или условный оператор — инструкции. + # 2.6 Изучение ряда полезных функций (abs, pow, max, min, sum, divmod, len, map) Был изучен и применен ряд полезных функций: @@ -186,7 +188,7 @@ pi - данная функция является представлением >>>cmath.phase(1-0.5j) -0.4636476090008061 -# 5 Изучения стандартного модуля randon для работы с псевдослучайными числами +# 5 Изучения стандартного модуля random для работы с псевдослучайными числами Были самостоятельно изучены и применены методы модуля random: @@ -224,6 +226,9 @@ gammavariate - случайное число с гамма-распределе sequences from older versions of Python), the algorithm for str and bytes generates a narrower range of seeds. +Функция random.seed() инициализирует начальное состояние генератора псевдослучайных чисел. Используется генератор псевдослучайных чисел (ГПСЧ): есть скрытое состояние (переменная в модуле random), на основе которого генерируется очередной результат random.random(), а само состояние обновляется. +Генерация устроена так, что распределение результатов близко к равномерному. + >>> random.seed() >>> r = random.random() >>> r diff --git a/TEMA4/test.md b/TEMA4/test.md new file mode 100644 index 0000000..9e95e99 --- /dev/null +++ b/TEMA4/test.md @@ -0,0 +1,27 @@ +# Индивидуальное контрольное задание по теме 4 + +Голощапов Дмитрий, А-01-23 + +# Задание + +Определите время начала текущего временного промежутка в секундах. + +Создайте список с двумя элементами: 0.3+7j и -34.6. Создайте второй список с элементами, равными квадратным корням из значений элементов первого списка. + +Определите текущее время, прошедшее с зафиксированного начала временного промежутка. + +# Решение + + >>> v=time.localtime() + >>> k=time.mktime(v) + >>> k + 1760088098.0 + + + >>> spisok1 = [0.3+7j, -34.6] + >>> spisok2= [cmath.sqrt(x) for x in spisok1] + >>> spisok2 + [(1.9113379636057752+1.8311779845554805j), 5.882176467941097j] + + >>> (time.mktime(time.localtime())-k)/60 + 1.2