форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
79 строки
4.5 KiB
Markdown
79 строки
4.5 KiB
Markdown
# Индивидуальное контрольное задание по теме 3
|
|
|
|
Коломейцев Дмитрий, А-02-23
|
|
|
|
## Задание
|
|
|
|
M1_5. Условие в решении.
|
|
|
|
## Решение
|
|
|
|
1) Для чего предназначено предложение "Окно (Window)" главного меню:
|
|
|
|
Если в IDLE открыты несколько окон, например Shell и несколько файлов, то Window покажет все окна, которые открыты, чтобы между ними можно было переключаться.
|
|
|
|
2) Создайте объект-словарь с 8 элементами: ключи - фамилии студентов группы, значения - средние баллы по итогам сессии.
|
|
Напишите инструкцию, доказывающую, что создан объект именно требуемого типа.
|
|
Напишите инструкцию отображения списка атрибутов созданного объекта.
|
|
|
|
```py
|
|
students = {
|
|
"Коломейцев": 5.01,
|
|
"Антонов": 3.8,
|
|
"Турханов": 4.9,
|
|
"Степанов": 4.2,
|
|
"Морозов": 3.5,
|
|
"Новиков": 5.0,
|
|
"Васильев": 4.1,
|
|
"Соколов": 4.7
|
|
}
|
|
type(students)
|
|
<class 'dict'>
|
|
dir(students)
|
|
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
|
|
```
|
|
|
|
3) Пополните словарь еще двумя элементами. Отобразите получившийся объект.
|
|
Напишите инструкцию, позволяющую для указанного студента из словаря получить значение его среднего балла.
|
|
Напишите инструкцию для получения списка всех студентов, представленных в словаре.
|
|
|
|
```py
|
|
students.update({"Aabaev":4.9, "Musk":3.1})
|
|
students
|
|
{'Коломейцев': 5.01, 'Антонов': 3.8, 'Турханов': 4.9, 'Степанов': 4.2, 'Морозов': 3.5, 'Новиков': 5.0, 'Васильев': 4.1, 'Соколов': 4.7, 'Aabaev': 4.9, 'Musk': 3.1}
|
|
students.get('Musk')
|
|
3.1
|
|
students.keys()
|
|
dict_keys(['Коломейцев', 'Антонов', 'Турханов', 'Степанов', 'Морозов', 'Новиков', 'Васильев', 'Соколов', 'Aabaev', 'Musk'])
|
|
```
|
|
|
|
4) У одного из студентов средний балл оказался на 0.2 меньше указанного в словаре.
|
|
Напишите инструкцию, исправляющую это значение в словаре.
|
|
Отобразите полученный объект.
|
|
Напишите инструкцию, вычисляющую общий средний балл для всех студентов, представленных в словаре.
|
|
|
|
```py
|
|
students['Musk']+=0.2
|
|
students
|
|
{'Коломейцев': 5.01, 'Антонов': 3.8, 'Турханов': 4.9, 'Степанов': 4.2, 'Морозов': 3.5, 'Новиков': 5.0, 'Васильев': 4.1, 'Соколов': 4.7, 'Aabaev': 4.9, 'Musk': 3.3}
|
|
|
|
average_grade = sum(students.values()) / len(students)
|
|
average_grade
|
|
4.340999999999999
|
|
```
|
|
|
|
5) Создайте список из названий 4-х учебных дисциплин и список с числом часов в неделю на изучение каждой из 4-х дисциплин.
|
|
Напишите инструкцию, позволяющую создать словарь, объединяющий эти два списка.
|
|
|
|
```py
|
|
disciplines = ["Math", "English", "Economics", "Philosophy"]
|
|
disciplines
|
|
['Math', 'English', 'Economics', 'Philosophy']
|
|
|
|
hours = [8, 4, 6, 2]
|
|
hours
|
|
[8, 4, 6, 2]
|
|
|
|
dict(zip(disciplines,hours)) # zip создает пары из элементов списка, dict создает словарь из этих пар
|
|
{'Math': 8, 'English': 4, 'Economics': 6, 'Philosophy': 2}
|
|
``` |