diff --git a/TEMA6/stud.txt b/TEMA6/stud.txt index 24b4fbc..9576fa7 100644 Binary files a/TEMA6/stud.txt and b/TEMA6/stud.txt differ diff --git a/TEMA6/test6.md b/TEMA6/test6.md new file mode 100644 index 0000000..1e71c1a --- /dev/null +++ b/TEMA6/test6.md @@ -0,0 +1,83 @@ +# Индивидуальное контрольное задание по Теме 6 + + +# Задание +1) Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100. + + +2) Запишите словарь в бинарный файл. + + +3) Удалите словарь из памяти. + + +4) Прочитайте словарь из файла и удалите из него два элемента: первого и последнего студента. + + +5) Выведите на экран элементы полученного словаря в виде строк по шаблону: "Студент <ключ из словаря> : <значение из словаря>" + + +# Решение +``` +import random +import pickle +``` + +## 1 +``` +students = {"Лазарев": random.randint(1, 100),"Анисенков": random.randint(1, 100),"Филлипова": random.randint(1, 100),"Филлипов": random.randint(1, 100),"Жалнин": random.randint(1, 100),"Махнов": random.randint(1, 100),"Лыкова": random.randint(1, 100),"Терехов": random.randint(1, 100),"Голощапов": random.randint(1, 100),"Мельников": random.randint(1, 100)} +pri`nt("Исходный словарь") +for stud, zeloe in students.items(): + print(f"Студент {stud} - {zeloe}") +``` +## 2 +``` +with open('stud.txt', 'wb') as f: + pickle.dump(students, f) +``` +## 3 +``` +del students +``` +## 4 +``` +with open('stud.txt', 'rb') as f: + students = pickle.load(f) +if students: + keys = list(students.keys()) + students.pop(keys[0]) + students.pop(keys[-1]) +``` +## 5 +``` +print("Новый словарь") +for stud, zeloe in students.items(): + print(f"Студент {stud} : {zeloe}") +``` + +Итог: +``` +Исходный словарь + +Студент Лазарев - 70 +Студент Анисенков - 22 +Студент Филлипова - 38 +Студент Филлипов - 28 +Студент Жалнин - 21 +Студент Махнов - 56 +Студент Лыкова - 29 +Студент Терехов - 10 +Студент Голощапов - 39 +Студент Мельников - 91 + +Новый словарь + +Студент Анисенков : 22 +Студент Филлипова : 38 +Студент Филлипов : 28 +Студент Жалнин : 21 +Студент Махнов : 56 +Студент Лыкова : 29 +Студент Терехов : 10 +Студент Голощапов : 39 +``` \ No newline at end of file diff --git a/TEMA8/Mod2.py b/TEMA8/Mod2.py index 88c5b37..4d19044 100644 --- a/TEMA8/Mod2.py +++ b/TEMA8/Mod2.py @@ -4,7 +4,6 @@ def alpha(): return t def beta(q): - print('****BETA****') import math expi=q*math.pi return math.exp(expi) diff --git a/TEMA8/protocol8.md b/TEMA8/protocol8.md index 51c3b2a..337ab80 100644 --- a/TEMA8/protocol8.md +++ b/TEMA8/protocol8.md @@ -315,6 +315,34 @@ beta(6) >> 153552935.39544657 ``` ### 3.3.2. Отобразить на экране в модуле Mod0 значения объектов t и expi +Содержание модуля Mod0: +``` +import Mod1 +print('perm1=',Mod1.perm1) +from Mod2 import alpha as al +tt=al() +print('tt=',tt) +from Mod2 import beta +qq=beta(float(tt)) +print('qq=',qq) +print(t, expi) +``` +Запуск программы: +``` +import Mod0 +>> Mod1:Введите значение = 5 +>> Mod1:Значение perm1= 5 +>> perm1= 5 +>> ****ALPHA**** +>> Значение t=10 +>> tt= 10 +>> qq= 44031505860631.98 +>> Traceback (most recent call last): + File "C:\Users\Dannyan\OneDrive\Рабочий стол\python-labs\TEMA8\Mod0.py", line 10, in + print(t, expi) + NameError: name 't' is not defined. Did you mean: 'tt'? +``` +При выполнении программы, а именно при попытке вывода переменных t,expi в модуле Mod0 возникает ошибка. Это происходит в силу того, что переменные t,expi не определены в данном модуле. Переменная t является локальной переменной функции alpha(), аналогично expi - локальная переменная функции beta() ### 3.3.3. Попробуйте в модуле Mod0 увеличить в 3 раза значение объекта perm1 и отобразить его после этого на экране Изменим модуль Mod0: ``` diff --git a/TEMA8/protocol8.py b/TEMA8/protocol8.py index 8c24e05..6386ba7 100644 --- a/TEMA8/protocol8.py +++ b/TEMA8/protocol8.py @@ -314,6 +314,34 @@ beta(6) >> 153552935.39544657 ``` ### 3.3.2. Отобразить на экране в модуле Mod0 значения объектов t и expi +Содержание модуля Mod0: +``` +import Mod1 +print('perm1=',Mod1.perm1) +from Mod2 import alpha as al +tt=al() +print('tt=',tt) +from Mod2 import beta +qq=beta(float(tt)) +print('qq=',qq) +print(t, expi) +``` +Запуск программы: +``` +import Mod0 +>> Mod1:Введите значение = 5 +>> Mod1:Значение perm1= 5 +>> perm1= 5 +>> ****ALPHA**** +>> Значение t=10 +>> tt= 10 +>> qq= 44031505860631.98 +>> Traceback (most recent call last): + File "C:\Users\Dannyan\OneDrive\Рабочий стол\python-labs\TEMA8\Mod0.py", line 10, in + print(t, expi) + NameError: name 't' is not defined. Did you mean: 'tt'? +``` +При выполнении программы, а именно при попытке вывода переменных t,expi в модуле Mod0 возникает ошибка. Это происходит в силу того, что переменные t,expi не определены в данном модуле. Переменная t является локальной переменной функции alpha(), аналогично expi - локальная переменная функции beta() ### 3.3.3. Попробуйте в модуле Mod0 увеличить в 3 раза значение объекта perm1 и отобразить его после этого на экране Изменим модуль Mod0: ```