
Задача 3 Всемирно известная компания "Cucumber" выпускает мобильные гаджеты и устройства для
«умного дома». Но время идёт, и компания прекращает поддерживать старые устройства. Словари mobile_devices и home_devices содержат полный перечень техники производства "Cucumber". Множество not_supported_devices хранит названия устройств, поддержка которых прекращена. Ваша программа должна составить словарь result_supported, в котором будут перечислены все устройства, поддержка которых не прекратилась; в словаре должны быть и устройства для «умного дома», и мобильные гадж

Ответы на вопрос

Ответ:
mobile_devices = {
'cucuPhone': 2010,
'cucuBlet': 2013,
'cucuClock': 2015,
'cucuEar': 2018,
'cuCube': 2015,
}
home_devices = {
'cucuLot': 2011,
'cucuBlock': 2010,
'cucuWall': 2010,
'cucuMonitor': 2020,
'cucuLamp': 2015,
'cucuTable': 2016,
'cucuTV': 2017,
}
not_supported_devices = {'cucuBlock', 'cucuBlet', 'cucuWall'}
result_supported = {}
# Функция объединяет ключи двух словарей в один set и возвращает его
def union_devices(devices_obj_1, devices_obj_2):
set_1 = set(devices_obj_1)
set_2 = set(devices_obj_2)
union_set = set_1.union(set_2)
return union_set
# Функция находит разницу двух сетов и возвращает её в виде set
def difference_device(all_devices, not_supported_devices):
diff_set = all_devices.difference(not_supported_devices)
return diff_set
# Функция копирует элементы из исходных словарей в результирующий словарь
def is_supported(dict_devices, device):
if device in dict_devices:
result_supported[device] = dict_devices[device]
# Вызываем union_devices(), чтобы получить полный перечень устройств
all_devices = union_devices(mobile_devices, home_devices)
# В result_devices сохранить сет, который вернёт функция difference_device()
result_devices = difference_device(all_devices, not_supported_devices)
# Перебрать в цикле сет result_devices и для каждого элемента
# дважды вызвать функцию is_supported:
# - с аргументами mobile_devices, device
# - и с аргументами home_devices, device
for device in result_devices:
is_supported(mobile_devices, device)
is_supported(home_devices, device)
print(result_supported)
Объяснение:





Для решения данной задачи можно использовать следующий код на Python:
pythonmobile_devices = {
"Phone 1": "supported",
"Phone 2": "not supported",
"Tablet 1": "supported",
"Tablet 2": "not supported"
}
home_devices = {
"Smart TV": "supported",
"Smart Fridge": "not supported",
"Smart Speaker": "supported",
"Smart Thermostat": "not supported"
}
not_supported_devices = set(["Phone 2", "Tablet 2", "Smart Fridge", "Smart Thermostat"])
result_supported = {}
for device in mobile_devices:
if mobile_devices[device] == "supported" and device not in not_supported_devices:
result_supported[device] = "supported"
for device in home_devices:
if home_devices[device] == "supported" and device not in not_supported_devices:
result_supported[device] = "supported"
print(result_supported)
В этом коде мы создаем словари mobile_devices
и home_devices
, содержащие информацию о поддержке устройств компанией "Cucumber". Затем мы создаем множество not_supported_devices
, которое содержит названия устройств, поддержка которых прекращена.
Далее мы создаем пустой словарь result_supported
, в котором будут перечислены все устройства, поддержка которых не прекратилась. Затем мы проходимся по каждому устройству в словарях mobile_devices
и home_devices
. Если устройство поддерживается (значение равно "supported") и не находится в множестве not_supported_devices
, то добавляем его в словарь result_supported
с ключом устройства и значением "supported".
В конце кода мы выводим словарь result_supported
, содержащий все устройства, поддержка которых не прекратилась.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili