Прогнозування погоди: надто часто помилятися, правильно занадто часто ігнорувати.
Враховуючи високу та низьку температуру та одну з чотирьох погодних умов на день, виведіть графічний прогноз погоди ASCII-графік на п’ять днів. Структура чотирьох графічних показників показана нижче.
\ /
-O- Sunny
/ \
\ /
-O(==) Partly Cloudy
(====)
(==) Cloudy
(====)
(==)
(====) Rainy
/////
Графік прогнозування виглядає наступним чином: кожен графічний індикатор центрирується у власному вікні 9х5, по 5 вікон через діаграму. Кожне поле розділено |
символами. Внизу графічного індикатора є трибуквене абревіатура для дня тижня ( MON, TUE, WED, THU, FRI, SAT, SUN
) з центром у власному полі 9х1. Температури нижчі за день тижня, зосереджені у власному боксі 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
.
I / O та правила
Приклади вводу-виводу тут демонструють наведений вище приклад діаграми.
Введення даних може бути здійснено у будь-якому розумному форматі та будь-яким зручним способом . Наприклад,
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) тощо.Провідні / остаточні рядки чи інші пробіли необов’язкові, за умови, що символи розташовуються належним чином.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Вихід може бути на консолі, повернутий у вигляді списку рядків, повернутий як окремий рядок тощо.
- Стандартні лазівки заборонені.
- Це код-гольф, тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.