3.5. Самостоятельная работа

Примечание

При выполнении заданий используйте заготовки решений: -> Репозиторий.

Подробнее: см. Цикл выполнения и защиты заданий.

3.5.1. Комплексная задача

№ 3.5.1

Из Таблицы 3.5.1 ниже выберите вариант под номером ЦИФРА_СБ + 1:

Таблица 3.5.1 - Предметная область задания

№ Варианта

Описание

1

Вуз

Для предоставления информации абитуриентам в вузе работает система, которая хранит информацию о специальностях: наименование, описание, необходимые экзамены, проходной балл по ним и др.

2

Продуктовый магазин

В продуктовом магазине работает терминал, который хранит информацию о продуктах: цена, количество, вес, состав (белки, жиры, углеводы) и др.

3

Кинотеатр

Для взаимодействия с клиентами кинотеатр использует систему, которая хранит информацию о фильмах: название, список актеров, стоимость билета, список сеансов и др.

4

Книжный магазин

В книжном магазине используется система, которая хранит информацию о книгах: название, цена, количество, список авторов, ISBN и др.

5

Банк

Банк предлагает клиентам электронный помощник, который хранит информацию о вкладах: сумма, валюта, срок, капитализация процентов и др.

6

Мобильный оператор

Мобильный помощник оператора связи хранит информацию о тарифах: тип, стоимость звонка и др.

7

Фитнес-центр

В фитнес-центре установлен терминал для клиентов, который хранит информацию о клубных картах: стоимость, тип, доступные занятия и др.

8

Агентство недвижимости

Веб-сайт агентства недвижимости хранит информацию об арендуемых квартирах: адрес, количество комнат, площадь, цена, наличие балкона, лифта и др.

9

Магазин смартфонов

В магазине используется система, которая хранит информацию о смартфонах: наименование, цена, количество, информация о комплектующих и др.

10

Пассажирский перевозчик

Пассажирский перевозчик предоставляет клиентам веб-сайт, который хранит информацию о билетах: наименование, тип (безлимитный, социальный и др.), стоимость и др.

Изучите предметную область варианта и продумайте, какую информацию следует хранить о ключевом объекте (например, для телефонного тарифа это наименование, стоимость, тип и т.д.).

Ориентируясь на Листинг 3.5.1, создайте небольшое приложение, которое хранит информацию об объекте выбранной предметной области и выводит ее на экран.

Листинг 3.5.1 - Пример хранения и вывода информации о программистах в компании
 1# Это пример кода, он может быть произвольно усложнен
 2# в рамках ограничений темы
 3#
 4# Требования к данным:
 5# - кол-во объектов (элементов словаря) должно быть не менее 3;
 6# - кол-во атрибутов объекта должно быть не менее 5;
 7# - по крайней мере 3 атрибута объекта должны иметь различный тип:
 8#   int, float, str и др.;
 9# - по крайней мере 1 атрибут объекта должен иметь тип list.
10
11
12# Замените атрибуты словаря и др. на соответствующие своему варианту
13
14db = [
15    {
16        "name": "Иванов Иван",
17        "birthday": "01/12/2000",
18        "height": 170,
19        "weight": 70.5,
20        "car": True,
21        "languages": ["С++", "Python"]
22    },
23    {
24        "name": "Сергеев Сергей",
25        "birthday": "01/06/2001",
26        "height": 180,
27        "weight": 110.4,
28        "car": False,
29        "languages": ["Pascal", "Delphi"]
30    },
31
32    ...
33]
34
35print("Содержимое базы данных ({}):".format(len(db)))
36
37print("1.")
38print("Имя: {}".format(db[0]["name"]))
39print("День рождения: {}".format(db[0]["birthday"]))
40print("Рост (см.): {}".format(db[0]["height"]))
41print("Вес (кг.): {}".format(db[0]["weight"]))
42print("Есть машина: {}".format(db[0]["car"]))
43print("Языки программирования: {}".format(db[0]["languages"]))
44
45print("2.")
46print("Имя: {}".format(db[1]["name"]))
47print("День рождения: {}".format(db[1]["birthday"]))
48print("Рост (см.): {}".format(db[1]["height"]))
49print("Вес (кг.): {}".format(db[1]["weight"]))
50print("Есть машина: {}".format(db[1]["car"]))
51print("Языки программирования: {}".format(db[1]["languages"]))
52
53...
54
55
56# --------------
57# Пример вывода:
58#
59# Содержимое базы данных (3):
60# 1.
61# Имя: Иванов Иван
62# День рождения: 01/12/2000
63# Рост (см.): 170
64# Вес (кг.): 70.5
65# Есть машина: True
66# Языки программирования: ['С++', 'Python']
67# 2.
68# Имя: Сергеев Сергей
69# День рождения: 01/06/2001
70# Рост (см.): 180
71# Вес (кг.): 110.4
72# Есть машина: False
73# Языки программирования: ['Pascal', 'Delphi']
74#
75# ...