Paquet de cartes

Dans un paquet de 52 cartes à jouer, chaque carte a une hauteur et une couleur. Les différentes hauteurs sont dans l'ordre As, 2, 3, 4, ..., 9, 10, Valet, Dame, Roi et les différentes couleurs sont dans l'ordre pique, carreau, cœur, trèfle.

On modélise un paquet de carte, en programmation orientée objet, par deux classes: une classe Carte et une classe Paquet.

Compléter le code de la classe Paquet en suivant pour chaque méthode la spécification donnée.

Exemple d'utilisation

🐍 Console Python
>>> jeu = Paquet()
>>> c1 = jeu.carte_pos(0)
>>> c1.couleur_carte()
'pique'
>>> c1.hauteur_carte()
'As'
>>> c2 = jeu.carte_pos(1)
>>> c2.couleur_carte()
'pique'
>>> c2.hauteur_carte()
'2'

Si la valeur de la position passée en paramètre à la méthode carte_pos n'est pas valide, l'assertion renverra le message "La valeur de pos n'est pas valide".

###(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 : 10/10
.128013.8217.339n1.P8Sp(àevDè{kIdA3:ats2CR,oblu=h 54é07_9[6]yfm)cirwL;/}gqVj050t0m0y0x0!0G0z0K0Z0G0x0z0z0I010y0!0j010406050z0H0X0X0x0#0V040i0E0G0H120E0d050)191b1d1f170j041o1v051y0)1y1A1v170t0!0n0`0|0~100J0!0+0J0G1O0J0y15050=0F0G0m1J0}0 011N1P1R1P0y1X1Z1V0y0F0E0t1f1W0#1w0y0J0`1i0z0j0x0d100A011#1L010W0@0m0d0x0X0m1V2022271%2a1Z2d2f150a0K0g0#0E0j0E0z0!1l0d0K0:1~0#0#0m0Z2A1o2i0d1w0)1|2N0y1`1_1{0t2k101R0d2c2x1V1G1I0{1$2X0!2Z0d1?1H1V0j2G1w2L2N2^18212B2)282.0#1c0G150K0e2K2|162{2j2~1%3032340A3722392L2W013e0x33040K0v3i2M173l3c103o3q0K0M3u3k2|3m3A340L3E3w3G3y3n0E313p340T3L3a2}1K3d3Q3f3r0P3V3x3Y3z3!3S3r0h3(3N3*3P3R3B0R3:3b3=3I040e0O3`3X2*3?3#0e361p383M3{433}0e3h483j4a422 3,3q0e3t4g3v3W3H4l150e3D4p3F4b4k3@4u3K4x4i4s4B3~3U4E4r3O4d3%4K3)4c4t3~3/4P3;4R4H0e3_4V4z3Z4H0A404#4j4%3#0A472^4F4M4S0A4f4;4L3|4@4o4`4Q4A4.4w4 4W513-0A4D544$3+4(4J5a4,5c4.4O5f4G4.4U5k4?4(4!5o4|4H0v4*5s4X3#0v4:494{5y3-0v4_5C504-5F4~5I555K3q0v535N5b445F595T5g5V5Q5e5Y5l5F5j381x2?1o2%2Q0t2U3m0Z1?2g1w5/1z5-2`4x055@0:2@5O100r153c3E5D280$34695J3z0Z150B1d0y0m6e640114040w3L0K6u0K6a1%66040:0W6n5U6c3r6D5Z0W0X150Q0Q2,2z6M6H3m6q0k6R3O0F6q0z0m0G6C5 6f6p150D3E6w6(0d150J6V3=6q6+4x6-6o6/040Z6=436q0Y6s4+3m6F6v776w6%6o0z0t15017f413m7c34786u0s0d2z0!3p0!6Z0K1Z0_0x1-0#0!0F1k0_0J0x1k0m0H0#0K0;1~0H1Z7I6^5x287j3r7l0K0H2Z0K7E7G7I0K0x7W7Y0n3p7H7J3p0|0d0y2C1!0e0K0l350v7Q5%3O7T7V7)1!5@7N7-7%820K7+7O7.0G7:7=2D7^7(0M0f7h7 7d7U7V7f016t7V6x106X156Z6#6 280E158k7a5U6|7!6l7I6,8u018C040I8L6.6:8s7l8M8w048y6$2`6(8O8E8#6{670E858K6_8M8O8Q8/8S6}3L06778M6z6B8A1%768 3z0W6:7F8J0#0Q0Z6k6m8F5Z6T92018X8Z9g71737R907k8V9d7i8n8q0K0C2c0n0E0!1!0|7Z96862D9C9a0#6l0K8q8U788M8H9E7I0z8R6o8;9U5U6q0q9g0X0!4u9k159m386`5U0z0e15000u0z009)047}3j9-5Z9$155H3j8M6q9+9|8M9/9;0A9^9r3O6@9X9~9%045Ma26(a4af7i9:04000vab8)9Y6*an3O9 045Sak6oam8?7bap000Mat5+alawaF5Uaz5XaCav6rax3=a8aq0LaKaS9eaN2^9}3maz5$a#6S9*aV43aX000Ta!2Ma3a%9,8Maz5*a-ada/aO5Za=0Pa^63aT9{3v81bc6va}ah5naLaDb2a(a7aH0hb7a`9`a:28az5rbiaTa52Ma)7 aH0RbpaMbrb3a*ah3 9_by6G6(a=3 bEbjbGbl6(az46bLbs1%a=0-7,0ybRb9bZ10bWa1a_bFbMbAaWaH0o2e0mb)a$bTa|bVbJajb/bSb;bm9;0C9zb{a.040*9N8{6(6z2G0y7I1nbH4M957#0#9Tac6?150S9g9i6!8!bw5Z8%9g9Qco9_0U8_ce6o8}0mcyb03=91cr4c946}8,8b999b9_6UcQ28cw8zc!1%9l8lcO9p9Oc(107T9u9w0d9y9A7u7(848b7?c`0`9b9L7g4E819P8+8-cpb+8N158=bUbS9!c/01bWbYclb?9;0j0!0,0Hb`9_babN6oazb.b8b|c4bOaH5@7-c9b1b}a6b 15c1dzcadBaG9;9I2G7FdGcsdIbzbf15aBc2bxdaa=2R0p0W1ZdV7015ccd48tcf15chcjda6|c|7-cqaub|cudhc$cMd$cA8DcCd78bcF8_8|673Y9gcPe03H6h040g0xdq0;dk4;cI5UcKe5dN3Oeicz3m6J6L6N7o0y6Qdh9fe36Ycx9_72c+43768tdhc;7f0K7n7p7r7t0G0b7x2R7A1k1~7;2c0H7%0n2Hc 1R0z9K0:0_0L0A0K0E0F0.0;0_6j9J1!2w0~7A7veP7S8n810#220+0N0_2c0K191H227=e#3Q0t2G7?0_d}9S0D0Kdoepfx0Z0c7Pd02F0m7F0Dd*d,9c9nc:fc7V7L2w7$0Z7Eep7Mc}217J8ad~0`2u7s0zfn0m0_e_9Dco0z0fd28rd=8V6(e49gcBdhd|1m6l0d0Hda9Wdld/040ScGf^9Od@040W3Qd{67g46F2,d{0Fd^fffMeAdHcZejaybJdtdaaQeNbM8`bdb=436zgf0#gh046;g68Bgkckde8Ggn04fe0d0+gqcNg7gtgr3=djeIa{dJdwbJd#exdWeOgbgDgEc#eLc%gu3=f}g`4c8+e,g2f|e8f~150x0j0j2c0tcYe904f36lhbh4gKgxgM3dgig(040Y0Y8_gC6uee6AcLeh6df~cS9I6l0Qf6hgg}g@8xeMhndug?hl04hEhng:fN01eR9qhGb!9teVc?c^9Bc{d1dq0!fk1!2R8,e:7_c f67p1mfy2x2C220_1Zfyeodr0yfahXc-779CfZ2e0p2Rf5h_7(7X1!f#fT0E0X2=7s1!2cia0K0O7K7=0L0ef=9Mg;begd1$0m9Jgyah5wb~9V15020G0y0(ddiG8G15hPgQe704iJiLiNg*aPahithjiS7i2504010%7(ig7J2Df60K0d00f,7=210_8a0!0:f@esd?cJd^0;d`hk8vg^ew8:h3hW3zg g1g3hne2jc3niQ2xec4K0)610m2N2=jr5.1H5:2Q2S2O1=1@2Q0x1Yju0)5/17jH0;0?0^04.