Lorsqu'un chat souhaite offrir une carte d'anniversaire à un ami chat, il lui offre une carte avec un chat tout mignon avec un texte sur son âge dans sa vie actuelle. Oui, les chats ont plusieurs vies... Ce qui fait de très nombreuses cartes possibles à créer.
La société CatCard propose de personnaliser la carte avec un texte en anglais ("en") ou en français ("fr") qui dépend de l'age et du num_vie ; des entiers strictement positifs. Si langue demandée n'est ni "fr" ni "en", la société CatCard propose une réponse 'Je donne ma langue au chat'
Écrire une fonction channiv qui renvoie le texte demandé comme sur les exemples suivants :
Exemples
>>> channiv(3,4)'Joyeux 3e channiversaire de ta 4e vie'>>> channiv(3,4,"en")'Happy purrthday, for 3rd year of 4th life'>>> channiv(1,1,"fr")'Joyeux 1er channiversaire de ta 1re vie'>>> channiv(1,1,"en")'Happy purrthday, for 1st year of 1st life'>>> channiv(3,4,"miaou")'Je donne ma langue au chat'
Paramètre par défaut
On pourra constater que channiv(3,4) est équivalent à channiv(3,4,"fr"), en effet la majorité des clients de CatCard sont français ; ils veulent que la fonction soit configurée pour renvoyer par défaut un texte en français.
Le mécanisme pour ce faire est le paramètre par défaut lang dans la définition de channiv
🐍 Script Python
defchanniv(age,num_vie,lang="fr"):
Ordinal abrégé
En français, on place seulement un e après le nombre, sauf pour 1er (premier) et 1re (première).
On trouve souvent des abréviations en ème, elles ne sont pas recommandées, sauf pour le cas d'une lettre comme nième, ou pième.
En anglais, on place th après le nombre, sauf pour 1st (first), 2nd (second) et 3rd (third).
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)