Danil 4 дней назад
Родитель cb7673ea1c
Сommit 9ace524e64

Двоичные данные
TEMA6/stud.txt

Двоичный файл не отображается.

@ -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
```

@ -4,7 +4,6 @@ def alpha():
return t
def beta(q):
print('****BETA****')
import math
expi=q*math.pi
return math.exp(expi)

@ -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 <module>
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:
```

@ -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 <module>
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:
```

Загрузка…
Отмена
Сохранить