форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
44 строки
2.0 KiB
Markdown
44 строки
2.0 KiB
Markdown
# Тест модуля 3
|
|
|
|
Похил Анастасия, А-02-23, вариант 22
|
|
|
|
## Задание
|
|
1)Создайте список с вашей фамилией и 3 фамилиями других студентов вашей группы и список с 4 элементами - средними баллами этих студентов.
|
|
|
|
2)Запросите у пользователя и введите имя словаря. Удалите из этого имени возможные пробелы.
|
|
|
|
3)Создайте словарь, в котором ключами будут фамилии студентов из первого списка, а значениями - их средние баллы.
|
|
|
|
4)Выведите словарь в бинарный файл с некоторым именем.
|
|
|
|
5)Рассчитайте общий средний балл по группе из 4-х указанных студентов. Отобразите рассчитанное значение по шаблону "Общее среднее =<рассчитанное значение>". Выводимое значение округлить до 1 цифры после точки.
|
|
|
|
|
|
|
|
## Решение
|
|
```py
|
|
import pickle
|
|
names = ['Похил', 'Сарайкина', 'Шинкаренко', 'Цветкова']
|
|
ball = [5.0, 5.0, 5.0, 5.0]
|
|
name_sl = input("Имя словаря: ").replace(' ', '')
|
|
sl = dict(zip(names, ball))
|
|
print(sl)
|
|
fp = open('test.bin','wb')
|
|
pickle.dump(sl, fp)
|
|
fp.close()
|
|
sr_ball = sum(sl.values())/len(sl)
|
|
print("Общее среднее =", sr_ball)
|
|
fp=open('test.bin','rb')
|
|
sl2=pickle.load(fp)
|
|
fp.close()
|
|
print(sl2)
|
|
print(sl == sl2)
|
|
```
|
|
#Результат программы
|
|
```py
|
|
Имя словаря: top
|
|
{'Похил': 5.0, 'Сарайкина': 5.0, 'Шинкаренко': 5.0, 'Цветкова': 5.0}
|
|
Общее среднее = 5.0
|
|
{'Похил': 5.0, 'Сарайкина': 5.0, 'Шинкаренко': 5.0, 'Цветкова': 5.0}
|
|
True
|
|
``` |