Wettervorhersage: Falsch zu oft, um sich darauf zu verlassen, richtig zu oft, um es zu ignorieren.
Bei hohen und niedrigen Temperaturen und einer von vier Wetterbedingungen pro Tag eine grafische ASCII-Wettervorhersage für fünf Tage ausgeben. Die Struktur der vier grafischen Anzeigen ist unten dargestellt.
\ /
-O- Sunny
/ \
\ /
-O(==) Partly Cloudy
(====)
(==) Cloudy
(====)
(==)
(====) Rainy
/////
Das Prognosediagramm sieht wie folgt aus: Jeder grafische Indikator wird in einem eigenen 9x5-Feld zentriert, wobei sich 5 Felder über das Diagramm erstrecken. Jedes Kästchen ist durch |
Zeichen getrennt . Unter der grafischen Anzeige befindet sich eine dreistellige Abkürzung für den Wochentag ( MON, TUE, WED, THU, FRI, SAT, SUN
), die in einem eigenen 9x1-Feld zentriert ist. Die Temperaturen liegen unter dem Wochentag, zentriert in ihrer eigenen 9x2 Box. Ein Beispiel ist unten gezeigt.
---------------------------------------------------
| | | | | |
| (==) | (==) | \ / | \ / | \ / |
| (====) | (====) | -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 |
---------------------------------------------------
Beachten Sie, dass "zentriert" locker genommen werden kann - sehen Sie im Beispiel, wie die grafische Ausrichtung und die horizontale Ausrichtung der Temperatur etwas flexibel sind.
Da ich aus den USA komme und daher Fahrenheit verwende, können Sie außerdem davon ausgehen, dass die Temperaturen alle zweistellig sind 9 < t < 100
.
I / O und Regeln
Die E / A-Beispiele hier veranschaulichen die obige Beispieltabelle.
Die Eingabe kann in jedem vernünftigen Format und mit jeder geeigneten Methode erfolgen . Zum Beispiel:
1) Sie könnten Zahlen für die Wochentage, die hohen und niedrigen Temperaturen und die vier Bedingungen verwenden und die Eingabe als fünf Tupel nehmen, wie zum Beispiel[0, 75, 57, 2], [1, 69, 53, 3], ...
2) Sie könnten die Eingabe als fünf Tupel mit Worten nehmen, wie zum Beispiel['MON', 75, 57, 'CLOUDY'], ['TUE', 69, 53, 'RAINY'] ...
3) Sie können Eingaben nur für den ersten Tag und eine Liste mit hohen Temperaturen, eine Liste mit niedrigen Temperaturen und eine Liste mit Bedingungen wie1, [75, 69, ...], [57, 53, ...], [2, 3, ...]
4) usw. verwenden.Führende / nachfolgende Zeilenumbrüche oder andere Leerzeichen sind optional, sofern die Zeichen richtig ausgerichtet sind.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Die Ausgabe kann an die Konsole erfolgen, als Liste von Zeichenfolgen zurückgegeben werden, als einzelne Zeichenfolge zurückgegeben werden usw.
- Standard-Schlupflöcher sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.