Прогноз погоды: слишком часто ошибаться, чтобы полагаться, слишком часто игнорировать.
Учитывая высокую и низкую температуру и одно из четырех погодных условий в день, выведите графический прогноз погоды на пять дней в формате ASCII. Структура четырех графических индикаторов показана ниже.
\ /
-O- Sunny
/ \
\ /
-O(==) Partly Cloudy
(====)
(==) Cloudy
(====)
(==)
(====) Rainy
/////
График прогнозирования выглядит следующим образом: каждый графический индикатор центрируется в своем собственном блоке 9х5 с 5 блоками на графике. Каждое поле разделено |
символами. Ниже графического индикатора находится трехбуквенное сокращение дня недели ( MON, TUE, WED, THU, FRI, SAT, SUN
), центрированное в его собственном окне 9x1. Температуры ниже дня недели сосредоточены в их собственной коробке 9x2. Пример показан ниже.
---------------------------------------------------
| | | | | |
| (==) | (==) | \ / | \ / | \ / |
| (====) | (====) | -O(==) | -O- | -O- |
| | ///// | (====) | / \ | / \ |
| | | | | |
---------------------------------------------------
| MON | TUE | WED | THU | FRI |
---------------------------------------------------
| H 75 | H 69 | H 77 | H 80 | H 85 |
| L 57 | L 53 | L 61 | L 63 | L 66 |
---------------------------------------------------
Обратите внимание, что «по центру» можно взять свободно - посмотрите в примере, как графическое выравнивание и горизонтальное выравнивание температуры несколько гибки.
Кроме того, поскольку я из США и поэтому использую Фаренгейт, вы можете смело предположить, что все температуры являются двузначными, поэтому 9 < t < 100
.
Ввод / вывод и правила
Приведенные здесь примеры ввода / вывода демонстрируют приведенную выше диаграмму.
Входные данные могут быть приняты в любом разумном формате и любым удобным способом . Например,
1) вы можете использовать числа для дней недели, высоких и низких температур и четырех условий, и принимать входные данные в виде пяти кортежей, например,[0, 75, 57, 2], [1, 69, 53, 3], ...
2) вы можете принимать входные данные в виде пяти кортежей, используя слова, например,['MON', 75, 57, 'CLOUDY'], ['TUE', 69, 53, 'RAINY'] ...
3). Вы можете использовать входные данные как первый день, а также список высоких температур, список низких температур и список условий, например1, [75, 69, ...], [57, 53, ...], [2, 3, ...]
4) и т. д.Лидирующие / завершающие символы новой строки или другие пробелы являются необязательными, при условии, что символы выстраиваются соответствующим образом.
- Либо полная программа или функция приемлемы. Если функция, вы можете вернуть вывод, а не распечатать его.
- Вывод может быть на консоль, возвращен в виде списка строк, возвращен в виде одной строки и т. Д.
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).