Расчет среднего балла студента
Часть раздела Логика и управление потоком путешествия по PHP на Coddy. Урок 36 из 68.
Задание
ЛегкоВы получите два входных значения: объект JSON, представляющий существующую ведомость оценок учащихся, и имя учащегося. В ведомости в качестве ключей используются имена учащихся, у каждого из которых есть "id" и массив "grades", содержащий результаты их тестов.
Прочитайте оба входных значения, преобразуйте строку JSON в массив ведомости, найдите указанного учащегося, вычислите его среднюю оценку и выведите результат, округлённый до 2 знаков после запятой.
Чтобы вычислить среднее значение: сложите все оценки в массиве оценок учащегося и разделите сумму на количество оценок.
Формат ввода:
- Первая строка: объект JSON, представляющий существующую ведомость оценок (пример:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Вторая строка: имя учащегося (пример:
Alice)
Ожидаемый вывод: средняя оценка учащегося, округлённая с помощью round($average, 2) и выведенная как есть, поэтому конечные нули не отображаются (примеры: 85, 88.4, 76.25)
Попробуйте сами
<?php
// Считайте строку JSON с оценками
$gradebookJson = fgets(STDIN);
// Считайте имя студента
$studentName = trim(fgets(STDIN));
// Преобразуйте JSON в массив
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Напишите свой код ниже
// Найдите студента, вычислите его средний балл и округлите до 2 знаков после запятой
// Выведите результат
echo $average;
?>Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»5Журнал успеваемости студентов
Настройка проекта: структура данныхДобавление нового студентаДобавление оценки студентуРасчет среднего балла студентаПоиск лучшего студентаСоздание табеля успеваемости3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеровПотренируйтесь самостоятельно: Онлайн-компилятор PHP