Php: Вертикальная гистограмма

PHP: Функции 8 сообщений
82
Студента
80%
Завершения
Обновлено: 16 марта, 13:24

Игральная кость — шестигранный кубик, который бросается несколько раз. Гистограмма — это графическое представление данных в виде столбцов или колонок.

Solution.php

Реализуйте функцию displayHistogram, которая выводит на экран вертикальную гистограмму. Функция принимает на вход количество бросков кубика и функцию, которая имитирует бросок игральной кости (её реализовывать не нужно). Вызов этой функции генерирует значение от 1 до 6, что соответствует одной из граней игральной кости.

Гистограмма содержит столбцы, каждому из которых соответствует грань игральной кости и количество выпадений этой грани. Результаты отображаются графически (с помощью символов #) и в виде процентного значения от общего количества бросков, за исключением случаев, когда количество равно 0 (нулю).

Дополнительные условия:

  • Процентные значения должны быть прижаты влево относительно столбца.
  • Значения сторон игральной кости должны быть посредине столбца.
  • Столбцы между собой разделены пробелом
  • Количество секций в столбце (высота столбца) должно соответствовать количеству выпадений каждой из сторон игральной кости.

Примеры

<?php

use function App\Solution\displayHistogram;

displayHistogram(30, $rollDie);
// =>     23%
//        ###     20%
//        ### 17% ###
//    13% ### ### ### 13% 13%
//    ### ### ### ### ### ###
//    ### ### ### ### ### ###
//    ### ### ### ### ### ###
//    ### ### ### ### ### ###
//    -----------------------
//     1   2   3   4   5   6 


displayHistogram(10, $rollDie);
// =>                     30%
//    20% 20%     20%     ###
//    ### ###     ### 10% ###
//    ### ###     ### ### ###
//    ----------------------- 
//     1   2   3   4   5   6  

Подсказки:

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов