ответвлено от main/python-labs
report:добавлен
Этот коммит содержится в:
Двоичные данные
TEMA6/stud.txt
Двоичные данные
TEMA6/stud.txt
Двоичный файл не отображается.
83
TEMA6/test6.md
Обычный файл
83
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
|
||||||
|
```
|
||||||
@@ -4,7 +4,6 @@ def alpha():
|
|||||||
return t
|
return t
|
||||||
|
|
||||||
def beta(q):
|
def beta(q):
|
||||||
print('****BETA****')
|
|
||||||
import math
|
import math
|
||||||
expi=q*math.pi
|
expi=q*math.pi
|
||||||
return math.exp(expi)
|
return math.exp(expi)
|
||||||
|
|||||||
@@ -315,6 +315,34 @@ beta(6)
|
|||||||
>> 153552935.39544657
|
>> 153552935.39544657
|
||||||
```
|
```
|
||||||
### 3.3.2. Отобразить на экране в модуле Mod0 значения объектов t и expi
|
### 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 и отобразить его после этого на экране
|
### 3.3.3. Попробуйте в модуле Mod0 увеличить в 3 раза значение объекта perm1 и отобразить его после этого на экране
|
||||||
Изменим модуль Mod0:
|
Изменим модуль Mod0:
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -314,6 +314,34 @@ beta(6)
|
|||||||
>> 153552935.39544657
|
>> 153552935.39544657
|
||||||
```
|
```
|
||||||
### 3.3.2. Отобразить на экране в модуле Mod0 значения объектов t и expi
|
### 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 и отобразить его после этого на экране
|
### 3.3.3. Попробуйте в модуле Mod0 увеличить в 3 раза значение объекта perm1 и отобразить его после этого на экране
|
||||||
Изменим модуль Mod0:
|
Изменим модуль Mod0:
|
||||||
```
|
```
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user