Introduction:
Dans l' hémisphère nord (Europe, Amérique du Nord, etc.), les saisons sont réparties comme suit:
- printemps: mars, avril, mai
- été: juin, juillet, août
- automne: septembre, octobre, novembre
- hiver: décembre , Janvier février
Dans l' hémisphère sud , cependant ( à savoir l' Australie, Amérique du Sud, etc.), les saisons sont réparties comme suit:
- Printemps: Septembre, Octobre, Novembre
- Été: Décembre, Janvier, Février
- Automne: Mars, Avril, Mai
- Hiver: Juin Juillet aout
Cette différence est due à la position du soleil par rapport à l'équateur, où les hémisphères nord et sud ont des saisons opposées.
Contribution:
Dans ce défi, nous prendrons deux entrées:
- Un pour le mois (
1 <= m <= 12
ou0 <= m <= 11
) (les exemples et les cas de test sont tous indexés 1). - Et un pour les cinq `` groupes de position '' aux latitudes de la Terre (
-2 <= p <= 2
), où se-2
trouve l'Antarctique,-1
est l'hémisphère sud à l'exclusion de l'Antarctique,0
les Tropiques à proximité de l'équateur,1
l'hémisphère nord à l'exclusion de l'Arctique, et2
est L'arctic.
Bien que l'Arctique, l'Antarctique et les Tropiques aient bien sûr des saisons, pour ce défi, nous dirons que l'Arctique et l'Antarctique sont dans un état constantWinter
et les Tropiques dans un état constantSummer
.
Voici une représentation visuelle de ces cinq groupes, où se -2
trouve le cercle Antarctique; -1
entre le tropique du Capricorne et le cercle Antarctique; 0
entre le tropique du Capricorne et le tropique du Cancer; 1
entre le cercle polaire arctique et le tropique du cancer; et -2
le cercle polaire arctique.
Source: COSMOS - L'Encyclopédie SAO d'astronomie
Production:
L' un des Spring
, Summer
, Autumn
ou Winter
, suivant ces règles:
- Est la position entrée
2
ou-2
(Arctique ou Antarctique), toujours sortieWinter
. - Est l'entrée de position
0
(Tropics), toujours sortieSummer
. - Est la position entrée
1
(hémisphère nord), sortie l'une des quatre saisons en fonction de l'entrée du mois:Spring
(m = [3,5]
);Summer
(m = [6,8]
);Autumn
(m = [9,11]
);Winter
(m = 12 or m = [1,2]
). - Est la position entrée
-1
(hémisphère sud), sortie l'une des quatre saisons en fonction de l'entrée mois:Spring
(m = [9,11]
);Summer
(m = 12 or m = [1,2]
);Autumn
(m = [3,5]
);Winter
(m = [6,8]
).
Règles du défi:
- Sortie des quatre valeurs distinctes de votre choix indiquant
Spring
,Summer
,Autumn
ouWinter
(s'il vous plaît DEFINISSEZ vous avez utilisé dans votre réponse).
-15 octets de bonus si vous sortieSpring
,Summer
,Autumn
ouWinter
sous forme de texte (insensible à la casse, peut donc être entièrement en minuscules ou en majuscules et entièrement, au lieu du titre cas utilisé). - La saisie du mois peut être dans n'importe quel format raisonnable. Peut être un entier indexé 0 ou indexé 1, un objet Date, une chaîne Mois, etc.
- Entrée de position sera toujours l' un de ces cinq possibles entrées
-2
,-1
,0
,1
,2
.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de 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