Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 25.03.2022
Сообщений: 3

Используйте map и reduce, чтобы посчитать площадь квартиры

25.03.2022, 16:46. Показов 1921. Ответов 4

Студворк — интернет-сервис помощи студентам
Всем привет. Я новенький. Никак не могу решить задачу.


Сама задача:
"Используйте map и reduce, чтобы посчитать площадь квартиры, состоящей из комнат rooms."

Python
1
2
3
4
5
6
7
8
9
10
11
from functools import reduce
 
rooms = [
    {"name": "кухня", "length": 6, "width": 4},
    {"name": "комната 1", "length": 5.5, "width": 4.5},
    {"name": "комната 2", "length": 5, "width": 4},
    {"name": "комната 3", "length": 7, "width": 6.3},
]
 
rooms = map()
square = reduce()

Посчитать площадь каждой комнаты у меня получилось, а вот самой квартиры - нет.
Вот, собственно, мой код:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from functools import reduce
 
rooms = [
    {"name": "кухня", "length": 6, "width": 4},
    {"name": "комната 1", "length": 5.5, "width": 4.5},
    {"name": "комната 2", "length": 5, "width": 4},
    {"name": "комната 3", "length": 7, "width": 6.3},
]
 
 
def rooms_sqr(x):
    x["room square"] = x["length"] * x["width"]
    return x
 
def union(a, b):
    return a["room square"] + b["room square"]
 
 
rooms = list(map(rooms_sqr, rooms))
 
square = list(reduce(union, rooms))

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2022, 16:46
Ответы с готовыми решениями:

Используйте метод map(), чтобы заменить цифры словами One, Two, Three, Four, Five
Задан массив вида arr = . Используйте метод map(), чтобы заменить цифры словами One, Two, Three, Four, Five. Выведите получившийся массив с...

Используйте двойной Интеграл, чтобы найти площадь области, заключенной в кривую r = 1
Используйте двойной Интеграл, чтобы найти площадь области, заключенной в кривую r = 1. (Use a double integral to nd the area of the...

Функция map и reduce
Можете, пожалуйста, объяснить разницу между map и reduce?

4
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
25.03.2022, 17:44
Python
1
2
3
4
5
6
7
8
9
10
from operator import __add__
from functools import reduce
#==============================================================================
rooms = [
    {"name": "кухня", "length": 6, "width": 4},
    {"name": "комната 1", "length": 5.5, "width": 4.5},
    {"name": "комната 2", "length": 5, "width": 4},
    {"name": "комната 3", "length": 7, "width": 6.3},
]
print( reduce( __add__, list( map( lambda x: x['length']*x['width'], rooms ) ) ) )
2
0 / 0 / 0
Регистрация: 25.03.2022
Сообщений: 3
25.03.2022, 18:31  [ТС]
Спасибо за ответ, но к сожалению пользоваться лямбдой и дополнительно импортировать что-то нельзя. Можно пользоваться только функциями, представленными в задаче.
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
25.03.2022, 19:15
Цитата Сообщение от NuclearCola Посмотреть сообщение
пользоваться лямбдой и дополнительно импортировать что-то нельзя
Ну тогда так можно:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from functools import reduce
#==============================================================================
def rooms_sqr(x):
    return x["length"] * x["width"]
#==============================================================================
def union(a, b):
    return a + b
#==============================================================================
rooms = [
    {"name": "кухня", "length": 6, "width": 4},
    {"name": "комната 1", "length": 5.5, "width": 4.5},
    {"name": "комната 2", "length": 5, "width": 4},
    {"name": "комната 3", "length": 7, "width": 6.3},
]
print( reduce( union, list( map( rooms_sqr, rooms ) ) ) )
2
0 / 0 / 0
Регистрация: 25.03.2022
Сообщений: 3
27.03.2022, 14:33  [ТС]
Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2022, 14:33
Помогаю со студенческими работами здесь

Двойной map/reduce
Есть таблица заказов orders. db.orders.insert({ 'date' : ISODate('2020-01-01'), 'total_sum' : 1000, 'customer' : { ...

Mongodb, Map-reduce
Всем привет. Нужно сделать запрос в MongoDB, который за кодом (хранится в одной коллекции) выводит название, которое хранится в другой...

Методы map и reduce
нужно используя один из методов map или reduce(или оба), переписать двумерный масив однотипных объектов в одномерный масив, который будет...

Map Filter Reduce Возвращают не совсем то, что ожидается
Доброго времени суток. С JS общаюсь относительно недавно, по этому прошу придержать сцаные тряпки. Но всегда открыт для объективной...

Реализации функций высшего порядка reduce, map, filter
Напишите свои реализации функций высшего порядка reduce, map, filter. Создайте декоратор, который будет возвращать время работы функций и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru