Обработка данных в списках с помощью действия «Повторить для каждого объекта» в программе «Быстрые команды»
В данном разделе мы рассмотрим, как использовать возвращаемые Dark Sky API данные (подробно см. в предыдущем разделе), чтобы подсчитать и отобразить среднесуточную температуру для каждого из дней, для которых запрашивается прогноз погоды, используя действие «Повторить для каждого объекта». Действие «Повторить для каждого объекта» позволяет быстрой команде выполнить ряд действий с каждым объектом из списка поочередно.
Чтобы обработать массив данных, содержащий погодную информацию для восьми дней, необходимо передать выходные данные действию «Повторить для каждого объекта», а затем настроить последовательность действий так, чтобы с каждым повтором цикла извлекать данные для одного из требуемых дней.
Чтобы получить среднесуточные максимальное и минимальное значения температуры, создайте цикл повтора, используя действие «Список» с двумя переменными «Повтор объекта». Коснитесь первой переменной «Повтор объекта» и измените тип ее содержимого на «Словарь». Затем введите ключ temperatureMax
, который позволит получить максимальную температуру для каждого дня. Повторите эту последовательность действий со второй переменной «Повтор объекта», указав ключ temperatureMin
, который позволит получить минимальную температуру для каждого дня.
Далее используйте действие «Подсчитать статистику», чтобы высчитать среднее арифметическое для двух полученных значений. Затем используйте действие «Округлить число», чтобы представить полученное значение среднесуточной температуры в удобочитаемом виде.
Чтобы обеспечить корректное понимание того, к чему относятся значения необработанных данных, переданных из цикла повтора, извлеките также значения дня недели для отображения в уведомлении, которое будет получено в результате. Если использовать еще одну переменную «Повтор объекта» с ключом time
, Вы сможете получить от API значение времени и использовать действие «Скорректировать дату» для расчета даты исходя из полученного значения времени. Поместите переменные, замещающие день недели (эта переменная извлекается из действия «Скорректировать дату») и среднюю температуру (извлекается из действия «Округлить число»), в действие «Текст», чтобы выходные данные каждого цикла были оформлены как строка текста с данными в заданном Вами формате.
Когда быстрая команда в ходе выполнения переходит к действию «Повторить для каждого объекта», она запускает новый цикл для словаря данных каждого дня, осуществляет расчеты и передает результат маркеру «Конец повтора». По завершении всех восьми циклов повтора все числа объединяются и передаются в выходных данных маркеру «Конец повтора». На этом этапе данные доступны для использования в качестве входных для последующего действия или извлечения в виде переменной «Результаты повторов».
Перейдите к следующему разделу, чтобы узнать, как отобразить полученные Вами погодные данные в уведомлении.