Introduzione:
Nel nell'emisfero nord (cioè Europa, Nord America, ecc), le stagioni sono divisi in questo modo:
- Primavera: Marzo, Aprile, Maggio
- Estate: Giugno, Luglio, Agosto
- Autunno: settembre, ottobre, novembre
- Inverno: Dicembre , Gennaio febbraio
Nel sud del mondo però (ovvero Australia, Sud America, ecc), le stagioni sono divisi in questo modo:
- Primavera: Settembre, Ottobre, Novembre
- Estate: Dicembre, Gennaio, Febbraio
- Autunno: Marzo, Aprile, Maggio
- Inverno: Giugno luglio agosto
Questa differenza è dovuta alla posizione del sole rispetto all'equatore, dove gli emisferi nord e sud hanno stagioni opposte.
Ingresso:
In questa sfida, prenderemo due input:
- Uno per il mese (
1 <= m <= 12o0 <= m <= 11) (esempi e casi di test sono tutti indicizzati 1). - E uno per i cinque "gruppi di posizione" alle latitudini della Terra (
-2 <= p <= 2), dove si-2trova l'Antartico,-1è l'emisfero sud che esclude l'Antartico,0sono i Tropici in prossimità dell'equatore,1è l'emisfero nord che esclude l'Artico, ed2è l'Artico.
Sebbene l'Artico, l'Antartico e i Tropici abbiano ancora delle stagioni, per il bene di questa sfida diremo che l'Artico e l'Antartico sono in uno stato costante diWinter, e i Tropici sono in uno stato costante diSummer.
Qui una rappresentazione visiva di questi cinque gruppi, dove si -2trova il circolo antartico; -1tra il Tropico del Capricorno e il Cerchio Antartico; 0tra il Tropico del Capricorno e il Tropico del Cancro; 1tra il circolo polare artico e il Tropico del cancro; e -2il circolo polare artico.

Fonte: COSMOS - L'Enciclopedia dell'astronomia SAO
Produzione:
Uno dei Spring, Summer, Autumn, o Winter, seguendo queste regole:
- È la posizione in ingresso
2o-2(Artico o Antartico), sempre in uscitaWinter. - È l'input di posizione
0(Tropici), sempre in uscitaSummer. - È l'input di posizione
1(emisfero nord), l'output di una delle quattro stagioni in base all'input del mese:Spring(m = [3,5]);Summer(m = [6,8]);Autumn(m = [9,11]);Winter(m = 12 or m = [1,2]). - È l'input di posizione
-1(emisfero sud), l'output di una delle quattro stagioni in base all'input del mese:Spring(m = [9,11]);Summer(m = 12 or m = [1,2]);Autumn(m = [3,5]);Winter(m = [6,8]).
Regole della sfida:
- Uscita qualsiasi quattro valori distinti di vostra scelta che indicano
Spring,Summer,Autumn, oWinter(per favore cosa hai utilizzato nella risposta).
-15 byte bonus se l'uscitaSpring,Summer,Autumn, oWintercome testo (case-insensitive, in modo da poter essere pienamente minuscole o completamente maiuscole così, al posto del titolo utilizzato e minuscole). - L'input del mese può essere in qualsiasi formato ragionevole. Può essere un numero intero con 0 indici o 1 indice, Date-object, Month-String, ecc.
- Ingresso di posizione sarà sempre uno di questi possibili cinque ingressi
-2,-1,0,1,2.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Le scappatoie predefinite sono vietate.
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
Casi test:
Position 1-indexed Month Output
-2 8 (August) Winter
-2 12 (December) Winter
-1 3 (March) Autumn
-1 5 (May) Autumn
-1 8 (August) Winter
-1 12 (December) Summer
0 1 (January) Summer
0 7 (July) Summer
1 1 (January) Winter
1 4 (April) Spring
1 7 (July) Summer
1 12 (December) Winter
2 2 (February) Winter
2 9 (September) Winter