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
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Это пример кода, он может быть произвольно усложнен
# в рамках ограничений темы
#
# Требования к данным:
# - кол-во объектов (элементов словаря) должно быть не менее 3;
# - кол-во атрибутов объекта должно быть не менее 5;
# - по крайней мере 3 атрибута объекта должны иметь различный тип:
#   int, float, str и др.;
# - по крайней мере 1 атрибут объекта должен иметь тип list.


# Замените атрибуты словаря и др. на соответствующие своему варианту

db = [
    {
        "name": "Иванов Иван",
        "birthday": "01/12/2000",
        "height": 170,
        "weight": 70.5,
        "car": True,
        "languages": ["С++", "Python"]
    },
    {
        "name": "Сергеев Сергей",
        "birthday": "01/06/2001",
        "height": 180,
        "weight": 110.4,
        "car": False,
        "languages": ["Pascal", "Delphi"]
    },

    ...
]

print("Содержимое базы данных ({}):".format(len(db)))

print("1.")
print("Имя: {}".format(db[0]["name"]))
print("День рождения: {}".format(db[0]["birthday"]))
print("Рост (см.): {}".format(db[0]["height"]))
print("Вес (кг.): {}".format(db[0]["weight"]))
print("Есть машина: {}".format(db[0]["car"]))
print("Языки программирования: {}".format(db[0]["languages"]))

print("2.")
print("Имя: {}".format(db[1]["name"]))
print("День рождения: {}".format(db[1]["birthday"]))
print("Рост (см.): {}".format(db[1]["height"]))
print("Вес (кг.): {}".format(db[1]["weight"]))
print("Есть машина: {}".format(db[1]["car"]))
print("Языки программирования: {}".format(db[1]["languages"]))

...


# --------------
# Пример вывода:
#
# Содержимое базы данных (3):
# 1.
# Имя: Иванов Иван
# День рождения: 01/12/2000
# Рост (см.): 170
# Вес (кг.): 70.5
# Есть машина: True
# Языки программирования: ['С++', 'Python']
# 2.
# Имя: Сергеев Сергей
# День рождения: 01/06/2001
# Рост (см.): 180
# Вес (кг.): 110.4
# Есть машина: False
# Языки программирования: ['Pascal', 'Delphi']
#
# ...