Aller au contenu

Anniversaire de chat

Le cadre

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'

Exercice

Coder 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
def channiv(age, num_vie, lang="fr"):

```

###(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
Évaluations restantes : /
.128203.128013x,/f.TqBâr;nb N_o=ylaepcgu)vdVFJ`13kHzçRIméhtsP(S+L2-i:050E0x0U0w0%0v0V0p0z0v0w0V0V0t010U0%0y010406050V0B0R0R0w0l0u040Y0s0v0B0|0s0n0p020w0R0y0m0p0P0x160l0i0B0x0V050e13151719110y04051E1x1H0e1E1D040I1O0y0u0U0T1g0p0|0U0v0x0`0b0p0W0l0s0y0s0V0%1f1h0*0;0s0l0l0x0z1.010p0v0%0n0x0n140_010J01060*0f0;0T0w0n0n0%0D0X0k0A0x0d0p210R0r0D0%2k1|2c0A0`0f0l010C0(060p2D0p0%290?0n0A0p0t0t0p012x012B2E2T0;170U0x2L2O0H0s0u0x0B0c2O2C2U2D0z2W2Y0Z2N0V0U0l2h2j0C2,2-2G0p2i2Y2M0p0J2S2-2U2/0l2X0p2=2O0x2y2}2U0x0/0x36372E393b3d010x263n3p2;2N1{0z2b2d2f3f0V0-1@0p1:0,2+3v2:3c2?2^0X2n2p2r2|3n2 3S2q322N353h3M3a3x2O1@3u373j0V3l3%373w3O3e3-2-3@3r0p3Z3`0p3j2 2I2K333s0n2R3=2.3N3y0M0w0y1Q0p0y0B1?1S0E0w0u2l0f1=3L3?3N3d2@2_313V372 312L3#3m3n2V3)3^012@402T42294D330#4G3(3q3y0n0E4N2E4P302j4E0p0K4U4u4J3r0l4Z4a413k4,3{4v3y1S4!4b4.3y0p2%170p0s294}4I4W0p4x3R143T0x4A2~293Y2r4)3$4H3o4`2O4M4=4$5j3!0p4T4=2T3|4X4;3n5t5d3Z4)4+5y5o4 3+5C3.4@5J4~590{0T575A2O1|2G3t3h3/3;4V322!2Y0E1g1 0p162t2J1u0p0w0B2a0w0U011I100)2f0;0?0^0`0T0%0A0T1}685|1F0V0y2c620@230f0.201k3t040a0p0h0x0c2X1x6e2c1F0y1@6d6f0n1F1y6D1F0z0s0*041@0U4k1h3w110e6J6L1I6B1x0E2f5 1E1O0I5~1M126D6h64011@2o0f0w0L0x0r0T0K0 1p1r1t1v0p0(6w6H6)1G040!0w5a1c1e0%1U6A1)1+0S2Y1v0U5@0^0x0N3I0%1@1_2s160%0:122^1g0A040n1U6=1_1=7w7i6w7z2J040g751E0F0s0%0z0%0p0B6Q6K2Y0y1d0:7F0U7H0V0S7P1N1P1R1T0n270x291=6Z0n0w0v3R2l442l2j0n1@0t0q1g5f4G018a1p0n0D7S2Y0v007_1~7|3I2Y1/2c0:0?5;0A2l0w0z6J4:0S411h823,8a3h432u4)2P2y4^2F5i5l8L2T6i3f7l8C2Y7w2m0s7l861 2l010Q0v0p6=1e4i0l0S7U3:0l1|2Y8U8A8*0l2c0O0-0V572T2 8^460f0S0R1~1~495n2-6N6P2O0J3,5Q8M0p933y160V0z0B1}488P379d0l1h243f575$9t2D9v1h5b0n0C3c3_5#1}2H8H46209a4B8N335m9b9E9f5r5D9M2m4)5x9b0p9X010#4Y9A9#1h335I9)9+0K4:9/3:9C9*0+9e9G9I0Z2O4|7-285`3C2g0w2j2l5u7 2u2w2y2A8F9N2J8I2Q8L3@3y2#2%2)4t4_5L8j7{7}ab2s8J018$9n9p9r2z4=5W3z3B2e0D3E3G5+2Y3K5V5pay7|5c2o3Z8$2Qa$9698485g385p1{3 4=9X6R4O9#448I9Qap4c2O4e4g0u4i4k3a0T4n4p8*4saVax4:8kaAac3ea+aKa.510x5355ava-bb7`aYaebgaJ5(4K5Y0f5!3na=2:9L9|a;9 9w5*3I5-2Y5:445?5^5`5|066%750e0*0,0.0V5 6Z0D6-230w0E0R1g1-7d1h0o1g0B8 6#b(0`b*b,2e1.0$1W1Y0 0jb=1w1K6#040G8v7)0l7w3f3~8Y3H6U2YbQ160c0%0R147Oc66Sb$04.
Ordinal abrégé - précision de typographie

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).