Aller au contenu

Mot qui correspond à un mot à trou

Le cadre

  • Un mot est ici une chaine de caractères composée uniquement de lettres de l'alphabet.
  • Un mot à trous comporte également zéro, une ou plusieurs fois le caractère ".".

On dira que mot_complet correspond à mot_a_trous, si on peut remplacer chaque "." de mot_à_trous par une lettre de façon à obtenir mot_complet.

  • "INFO.MA.IQUE" est un mot à trous,
  • "INFORMATIQUE" est un mot qui lui correspond,
  • "AUTOMATIQUE" est un mot qui ne lui correspond pas.

Exercice

Coder une fonction telle que correspond(mot_complet, mot_à_trous) renvoie un booléen qui détermine si « mot_complet correspond à mot_a_trous » ou non.

Exemples d'utilisation
>>> correspond("INFORMATIQUE", "INFO.MA.IQUE")
True
>>> correspond("AUTOMATIQUE", "INFO.MA.IQUE")
False
>>> correspond("INFO", "INFO.MA.IQUE")
False
>>> correspond("INFORMATIQUES", "INFO.MA.IQUE")
False
###(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 : /
.128077.128013x/.Tr;nbylaeu)dV63m(P+02è-@],59fq!7B8 _o=pcwgv4F1kRéhtsSàLC[ji:050q0n0%0m0/0l0(0N0S0l0m0(0(0Q010%0/0R010406050(0o0u0u0m0g0k040)0P0l0o140P0i0N020m0u0R0h0N0!0n1e0g0I0o0n0(050d1b1d1f1h190R04051M1F1P0d1M190q0/0V0|0~10120$0/0U0$0l1%0$0%17050@0j0l0n1Y0 11011$1(1*1(0%1:1=1.0%0g1N0%0$1@1!010H0_0n0i1s0n010|1k0(0R0m0i120z1.2k2m281_2b1=2e0u2g040b0N0w0g0P0R0P0(0/1n1p0=2i0g0g0n0S2K1F2r0i1N0d262W2325241/0q2t121*0i2d2H1.1V1X0}1^2*0/2,0i0P2:1.0R2P1N2U2W311a2l1p2=292`0g1e0l170Y2T3518342s371_393b170z3f2m3h2U2)013m0m3c040t3q2V193t3k123w3y0W3B3s353u3H170F3K3D3M3F3v0P3a3x170s3R3i361Z3l3W3n040K3#3E3(3G3*3Y040M3.3T3:3V3X3y0G3K1Q2 1F2:2Z0q252(3U0S2{2z0;1W1N2~0n303g404a0=4i3j3{0Z170=0H403/2?010T170N4u3`4w0i0H174a2O1D2G0i0q4B4o4w16040v4N3%4D170u0P0%0O4a1t1=0%4T3u4Q0E3K4A4v384W4Y0O0*0O230P0o1E1G4j4/1_4Q0p0:3R0N554.4C294q040/4t4}3r574O380j172w4)3U4Q4S5e2V3$3N4;4Z4#0R4%5m3{514-5s3U0P170J0Q5C4 3G5j045l5q4n4U295o5z4V044X4Z4@4_4{5U5S175254565+5D4p172P0%0o0g0i5J581_0Z0S170X3x0(0n3R065,5K015a0H3W5^5h3l170/6a5R1_0P4y5b5@5P5g6g5L5/2m0U615P5-4P175p33650i5M5O6z5_125T6u6A5u4!0P4$0?5$505(5)5P635+566v596d5d316n4*6x6P3G6K5Z2E5#6I6F014Q0-6)3v6d6@4Q0D6f3u5F045H6}3U0(2p04010e016`5(723{6i172m4M6m6X6Q4R6@0i6+4^6-4|6E6b6G176?6/7t6^5b7a046|7i656 717E6:7n5W4=5w5y7x6o6;7v7m6_7P6%7C6S316U6V6V7j125a5:5=6l6#7%665|045~0`6t7Z7!6$3U7)0?7+7c4w5{170f0g1C3#0d4l4h41890d441F0%468e2$2X0m1;8b441L5Q3u2P0u0O0H0m0Z0n0O0$0t171x1z1B1D0N536u1S3h0=0@0_0{3U0q6r0n0g173D1c1z1h0r8S2I1o0N680i2R0/1o2,0l1=2T8W1J8K1W3u1{1)1+1-8p3U2v2d2f172B0)0S0g150%2C0k261o404g5Q324j888}5.044s6@6j4A7V3U4E4G3W2P2k1o7h7s7Q6H9z5t7L5v6M5x6O9q5A174,7I7y7K5X4?7p4`7r4~6:518H7Z646:7|5;5?7 5i5k2d7B6y9V9O6K7N9I9C5n7b9N7Q6 0Q5I9`3N6C9,9J6w7la34:9E9R5!9U3r7.5B9 5E6j7g9)3l5M3x0l9-5*7#9!9:a86,9T7B7w9@3{7K6ea67k7D7-7F179}aj6*a89=4(aC7u04ax9/7QaA7BaE3g7`7d6j69afaz7oaaaw7T7AaO7R7CaJ019|9~aF6:0(0Y17000e00apaq7#7.67a#a@asaBb59{6j2^a:6B6q0i6saoa-bd5Na2aya49.ac6JaL9G7Obm5%040p0pa ar9A9_7Z1F9i8a2W8n1O040+0m8%1o8*8$059iambE4b048%0^980m4{2I0N0o2,0N0#0V3x0o0m2K0N2l9v604{1?0?0N0(002^0%8S2E1t980q0A0{8E4A9i7=60bU4m0N1D982P8)1o230#0e1Q3h1P0/0u0U0N3x0%120a2h3U0%0T1y0P0.0/2h0(0g0S1#1 0R0(0:0d870q0i0e0.0(0=1*0V0g0e2,0%0d1(0d0.0=0S8w0q2XcB4XcE0C0Y0F0e0Y0e0y0d1^0?0(1G0V0U0d0Y0H0W0W0q0e0(d22h140%1=120:0x0Y0:010dbWbLbN8)b:bRbVbT87bV0N0i00cfb;0 0N0$3W0{2~0P0U0g1s2y0Ece8.1?dzdB2l0{2`1p5x4{ce0c1%0/8l0e0N0,dA0(98b(1?0j8,1?0/0q0#1?2M0(0m0V0P0/0g0N0l001m0_0/60e11B7g0N8$dBb(0Nd;1p0#0l0A0V1?0Jcn198c0?0^0`3her8Meu1U8@3U0m0q4X0i2J8+1peh4{8U1O3ueCeEeG1o0Bde21040L1o6.1TbJ2D2F2H8Sb%b)em0g8#1p2de)1?1}2,dOd}2Qe:e2e7b ce369G0g0#0$2de-8%0_ck0ncm8Jeq44.