Previsão do tempo: incorreto com muita frequência, certo demais para ignorar.
Dada uma temperatura alta e baixa e uma das quatro condições meteorológicas por dia, produz uma previsão gráfica de cinco dias da arte ASCII. A estrutura dos quatro indicadores gráficos é mostrada abaixo.
\ /
-O- Sunny
/ \
\ /
-O(==) Partly Cloudy
(====)
(==) Cloudy
(====)
(==)
(====) Rainy
/////
O gráfico de previsão é o seguinte: cada indicador gráfico é centralizado em sua própria caixa 9x5, com 5 caixas no gráfico. Cada caixa é separada por |
caracteres. Abaixo do indicador gráfico, há uma abreviação de três letras para o dia da semana ( MON, TUE, WED, THU, FRI, SAT, SUN
) centralizada em sua própria caixa 9x1. As temperaturas estão abaixo do dia da semana centralizadas em sua própria caixa 9x2. Um exemplo é mostrado abaixo.
---------------------------------------------------
| | | | | |
| (==) | (==) | \ / | \ / | \ / |
| (====) | (====) | -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 |
---------------------------------------------------
Observe que "centrado" pode ser tomado de maneira vaga - veja no exemplo como o alinhamento gráfico e o alinhamento horizontal da temperatura são um pouco flexíveis.
Além disso, como eu sou dos EUA e, portanto, uso Fahrenheit, você pode assumir com segurança que as temperaturas são de dois dígitos 9 < t < 100
.
E / S e regras
Os exemplos de E / S aqui são demonstrativos do gráfico de exemplo acima.
A entrada pode ser obtida em qualquer formato razoável e por qualquer método conveniente . Por exemplo,
1) você pode usar números para os dias da semana, as temperaturas alta e baixa e as quatro condições e receber entradas como cinco tuplas, como[0, 75, 57, 2], [1, 69, 53, 3], ...
2) você pode usar entradas como cinco tuplas usando palavras, como['MON', 75, 57, 'CLOUDY'], ['TUE', 69, 53, 'RAINY'] ...
3) você pode considerar a entrada apenas no primeiro dia e uma lista de altas temperaturas, uma lista de baixas temperaturas e uma lista de condições, como1, [75, 69, ...], [57, 53, ...], [2, 3, ...]
4) etc.Novas linhas à esquerda / à direita ou outro espaço em branco são opcionais, desde que os caracteres sejam alinhados adequadamente.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- A saída pode ser no console, retornada como uma lista de cadeias, retornada como uma única cadeia, etc.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.