Mot qui correspond à un mot à trou⚓︎

Mots à trou

  • 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_a_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.

Objectif

Écrire une fonction telle que correspond(mot_complet, mot_a_trous) renvoie un booléen qui détermine si « mot_complet correspond à mot_a_trous »

Exemples
>>> 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)
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 : 5/5
.65038.9875.128013lS]et-d5!f1umaèg,_F/R=Vin 6)yqPhcL[(bs.p;r4'9"ovTw73k:é 2030d0a0b0k0u070I0!0D070k0I0I0s0Q0b0u0K0Q020w030I0i0j0j0k0M0z02080R070i0^0R0v0!000k0j0K0L0!0r0a120M0A0i0a0I030q0 1113150}0K02031A1t1D0q1A0}0d0u0S0-0/0;0?0C0u0m0C071R0C0b0{030(0H070a1M0:0=0Q1Q1S1U1S0b1!1$1Y0b0M1B0b0C0-180I0K0k0v0?0#0Q1'1O0Q0g0*0a0v1g0a1Y1}1 241)271$2a0j2c02060!0B0M0R0K0R0I0u1b1d0%1{0M0M0a0D2x1t2e0v1B0q1_2J1?1^1@1Z0d2g0?1U0v292u1Y1J1L0.1(2T0u2V0v0R2Z1Y0K2C1B2H2J2:0~1~1d2#252)0M12070{0h2G2@0|2?2f2_1)2{2}0{0#311 332H2S0Q380k2~020W3c2I0}3f360?3i3k0N3n3e2@3g3t0{0e3w3p3y3r3h0R2|3j0{0x3D342^1N373I39020V3w1E2.1t2Z2M0d1^2R3G0D2*2m0$1K1B2-0a2/323W3)0%3;353Q0?0X0{0%0g3w0!3O3z0g0{3)2B1r2t0v0d3W3q3{0Q0`020G4d3F4f0v0{0j0R0b0o3)1h1$0b4k3`2$4g0{0n41433G4n024p4r0k0o1?0R0i1s1u3=4e4z4h0y0Y3D0!4Y424S253}020u404Q3d4!4l4z0v0H0{2j4x3P4T0{4j4*2I4E4m4o4q4s0R4u0'4?3g4U4D4#1)0R0{0f0s584-2`4:024=4{3_4@254h4`2=593s4 4J4L2r4O553G4U4W5l0w4Z5F4,4y4$0{2C0b0i0M0v5f5I1)0X0D0{0p3j0I0a4X4Z4}4z4%0g3I5Q5n370{0u5*3g0R0U5-5P5l5H5+3s5i0M1 0m5Z5l5$5o4_5z4m5i5k5r5g1)5p654.5u51534w615s4A020y4V5!5G5_3g4%4(5/4F6f4K4M5y6j6a0?4h0F6d2`5-6G6b0{096v4f5b025d6N4z0I2202001p4q0L0J6X0i6Z6S255;0{1 4c5^625,4H506y5x4P695R6D0{6F6B6`3h6I6~5`6l6M6.6k6P6R766C706;4r4t0K4v6J6{026}6_734G5.72566L5C2:5E6q5G6/3|5K0'5N5@2:6r3G5T5V5X607u5F7y0Q4%5L7C6(5S5U020T0M1q3N0q3@3:3X7$0q3!1t0b3$7*2P2K0k1#7'3!1z5m3g2C0j0o0g0k0X0a0o0C0W0{1l1n1p1r0!7t3=1G330C0h0!0u0d0?0S0a0M2v1c0c5(0v2E0u1c2V071;020t8l8n1d8q8s8u0a8w5Z0k3g0C0a0k0%0M2U3}0!0C2C0g0?018k8m8t0v8p1c8E0v8v1;0!0^0b1$0?0B8l122(0b0!8Q0{05041t0k2J8e332Z8K1V1-1W2d7b2i292b0{2o080D0M0_8@0B0z1_1c3W3/5m2;3=7#7^7G3~0a4)7E7N0v4502472C1}1c6-7m7r4i7i7c4I6g7g547q5A4B7S5t7d0o6?4N6^4R7b5B6p7F4f7P7B5O9U3h67299L6c9R4~9W7f7h9?4^6m9-6P0s5e7a6 4/4;9:9{639Ka76:9N9Y6A9I9S9}a2736*026,9-a4al8w9;645D7w7x6k4Gac5w9Zar7k9L7oaB759y770{a0an6f9_9Qaf4f6EaD71aP9|aG329(4zak5)ai3z6xazae9#6 aRaa9V7paUa8aW4+7N9 a1aH7b0I0h0{00010W0P6!a b10L9'au7M6k5'a#a`a3aTaXa@5=4'7Dbgaw5|5~7Ka*739=a:379/bk3d7Nbsbqa%9^529P6ibt7j6nb75#6k575D1t9s7%2J7?1C020E8J8D2x429s3j07bO3*020!7}2w0!0k4O2v0!0i2V0!0Z0S3j0i0kbY1~9E5Y4O1%0'0!0I0O2'0b8l2r1h8@0d0l0,87bZb'5W0+609s0!1r8@2C8r1c1?0Z0J1E337(0'0)0+02.