Point de rencontre

Un site de co-voiturage propose un nouveau service. Lorsque deux utilisateurs du sites souhaitent aller au même endroit le même jour, il suffit qu'ils rentrent leur trajet pour savoir dans quelle ville ils doivent se retrouver pour ensuite co-voiturer.

Les trajets sont représentés par des listes de noms de villes. Par exemple pour aller à Paris en partant de Valence, le trajet peut-être :

["Valence", "Vienne", "Lyon", "Beaune", "Auxerre", "Paris"]

Si un autre utilisateur veut aller de Dijon à Paris il peut prendre le trajet :

["Dijon", "Pouilly-en-Auxois", "Auxerre", "Paris"]

La ville de Auxerre peut servir de point de rencontre sur les deux trajets.

Écrire le code de la fonction point_de_rencontre qui prend deux listes de chaînes de caractères trajet1 et trajet2, et qui renvoie la première ville commune entre les deux trajets.

On suppose que :

  • les trajets donnés en paramètres ont forcément au moins une ville en commun ;
  • À partir du moment où une ville se trouve dans les deux listes, toutes les villes suivantes sont identiques.
🐍 Console Python
>>> trajet1 = ["Valence", "Vienne", "Lyon", "Beaune", "Auxerre", "Paris"]
>>> trajet2 = ["Dijon", "Pouilly-en-Auxois", "Auxerre", "Paris"]
>>> trajet3 = ["Rouen", "Mantes-la-Jolie", "Paris"]
>>> point_de_rencontre(trajet1, trajet2)
'Auxerre'
>>> point_de_rencontre(trajet1, trajet1)
'Valence'
>>> point_de_rencontre(trajet1, trajet3)
'Paris'
Indice

Il peut être judicieux de partir de la fin et de remonter les deux listes tant qu'aucune n'est vide et qu'on a des villes communes.

###(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

.128013s3_8èuf^vy n7aïS1me(P24C:jtwi][h)6Oo;bcdg/T0làqp!.rL-,=k95Rxé050O0t0B0o0D0T0b0l0N0T0o0b0b0%010B0D0W010406050b0g0s0s0o0Z0k040q0K0T0g110K0m0l020o0s0W0L0l0+0t1b0Z0V0g0t0b050Q181a1c1e160W041C1J051M0Q1M1O1J160O0D0j0_0{0}0 0G0D0P0G0T1$0G0B14050;0M0T0t1X0|0~011#1%1)1%0B1/1;1-0B0M0K0O1e1.0Z1K0B0G0_1h0b0W0o0m0 0w011?1Z010h0?0t0m1p0t1-2e2g2l1^2o1;2r0s2t040a0l0v0Z0K0W0K0b0D1k1m0/2c0Z0Z0t0N2O1C2v0m1K0Q2a2!0B2827290O2x0 1)0m2q2L1-1U1W0`1@2.0D2:0m241V1-0W2T1K2Y2!35172f1m2_2m2~0Z1b0T140r2X3915382w3b1^3d3f140w3j2g3l2Y2-013q0o3g040c3u2Z163x3o0 3A3C0x3F3w393y3L140*3O3H3Q3J3z0K3e3B140I3V3m3a1Y3p3!3r040n3)3I3,3K3.3$040e3=3X3@3Z3#3C0)3O1L331C2@2%0O2+3y0N242D0.1V1K320t343k444d0/4l3n3 0(140/0h443?2`010C140l4x3~4z0m0h142K2|0B0d0/0d2T0m4d0m2(0t4E4r4z13040u4W3+4G142(0o0A0:3i1D4m4y2m4Z0$3O4D4;3p4)0Z4+0:3t4/3v3*3y4Z0H0z3V0l594_4F3c140D4.355b4X2m0K140%4^533Y0m0M142A4$54144#512Z5p3 0m4|4~0B5g4:5c1^555o4`0 5l040#5M5J0 0s0D3h585a5B4(040D505h5!5k5m5S5j3p5s045u5z4q4%4=5x5v5q5E4,0B5(5I5.0 5L5?5i5^1^5P5R655*1^5V5X5?065a663R144Q4S4U5-675O5,6b5N010b2j0401015Y596c0 4t040C1#1;6p6k5$5H3v6j3Y5P020P0B0L5n6t5T016e040S6K6Q4B042g0O6%5C5e606O6D016R6T6V6-4z6!6$6X626?6)6+6`5d044*5~6N5A6u4Z0F5{6.6M7d4Y140E73685m6W5)6u5D754}5~6:796Y7b7g745%7y5K7i576g6i6i6=7q6m1l6o6~6q6?6s7o6Y7q764-7B63147c5?7I5e785@5w047j7F7G6C7p7$7k6r047n3k6P7e5f7;7P5Q7|6!7%6h7-7_5#7A7N3y5P7@6;7/5$7u04845+7~873Y806B8g1^6F2T0B0g0Z0m7|7J2q6n2T3)0Q4o4k458D0Q481C0B4a8I2)2#23252%0o1:8F481I7(3Y2T0s0d0h0o0(0t0d0G0c141u1w1y1A0l7E371P3l1J0!0o0l0j1c0D8R1;4D8C047K4T8z8B4e8f0m001A0B0l2f0^0h3!0N0-2C4T0l0m0-0N1A0b0=2T8;1L3l2@3y1`1(1*1,8W3 2z2q2s142F0q0N0Z129e0v0k2a1l444j5@364m936=6F4v7W4A4C9(4H4J0K4L4N8(957M377a5`7!8c7U5G9(4?8v5}4 9~14568m7#7f8j3 898v5:5=9@7w9_af6 7T7s7V9`ag040H7|697 5W04817H8c867R6 aba94Gad2qa34!9+a15 aHaqaD8h6aaA7O8l7,7.6Y6F6H2p7|0(0N140R0Z1zaH8=3k827-9#5e4waO4{a8aR887mat146}a_6(143!a08dara{a?5Uaua~7^6=0K6)b2b73zaK7%6=7xanaj7:bm7Oasbp3yaTai7O4Z7+a aa140X8a2Z8n3KbiaH7Zbv6Laz61bq14aQbNbtaubj9^7*a,3va.83aV6 8p0:8s8ubgak5FbUaobJbR5|a^b;3 bx8max7Sbobz4z69bD8f6=bua-b!a7bM8b6Yc0a|av8A9!1P468G4h8V8`0l230g0`1=8}0l9i0Z9k9m9e0b1=0B0t3e2|cB9f0g0D0b8/0l0O2g0^910W0D9v0/0^0N0|0$0l1lcscB8{0o1j2g9e2Q0B0K8s0^2Qcncp0^cJ0{0l0T1l0P1z8scK0g9f1i0^0W0:2N0l9|0Y9x8V0J1md31j0l0-0P3B1v2q9e8#cQ1=0g2:8|cB2McY2r0p0j1=7E1S4g2^3 9B1|1+2u6Y9H2B2D9L9N9P2G9S0G9U7!9W3*9Y529!6u9$0ta=bK3Y6)4Dbs5q4I044K4T9:4P8x7L97d%b^ahb@5#9|b.6 9 b+aK8ebka4bX3Gb{b$14ctb30j0?6Jbgbd5eb*b~74d~a+b`5ZdZa;edef4Veh6)2|b39|e4bVe715b!e97Ob%8r8tet0Teg3516984p8E2!8U1N040y0:cAcs1l2V0DcY9d2R2T2V1=1bcHc^1=2~0s0McRcz9d0^0U0ld#0h2U8rcEddc)0tdx0mcQd60Z0f0^0P4}0m0O0Y0l0q0De:c.0t0g0,f95F0^0b7LcK1=c_0mc{fn0ZbF018~2a1bcA0,14090u0m09aN35cW91e=e@1=2Q4d1q1c0=ft0me{cs9u1=e)2Q0T003!0Oe^fCfE0GfG0tfI04fK0m0i0wfN3OfhclfW0W1;0,2N0-fvc^8{9i4R2Oe}0bc)e#0l1y0of/0o118/cW3B3!c=1zga0lft1ige322J2L0-f)ggc^2|0-f(d88@eP0/0;0?0b04.

###(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

.128013s3_8èuf^vy n7aïS1me(P24C:jtwi][h)6Oo;bcdg/T0làqp!.rL-,=k95Rxé050O0t0B0o0D0T0b0l0N0T0o0b0b0%010B0D0W010406050b0g0s0s0o0Z0k040q0K0T0g110K0m0l020o0s0W0L0l0+0t1b0Z0V0g0t0b050Q181a1c1e160W041C1J051M0Q1M1O1J160O0D0j0_0{0}0 0G0D0P0G0T1$0G0B14050;0M0T0t1X0|0~011#1%1)1%0B1/1;1-0B0M0K0O1e1.0Z1K0B0G0_1h0b0W0o0m0 0w011?1Z010h0?0t0m1p0t1-2e2g2l1^2o1;2r0s2t040a0l0v0Z0K0W0K0b0D1k1m0/2c0Z0Z0t0N2O1C2v0m1K0Q2a2!0B2827290O2x0 1)0m2q2L1-1U1W0`1@2.0D2:0m241V1-0W2T1K2Y2!35172f1m2_2m2~0Z1b0T140r2X3915382w3b1^3d3f140w3j2g3l2Y2-013q0o3g040c3u2Z163x3o0 3A3C0x3F3w393y3L140*3O3H3Q3J3z0K3e3B140I3V3m3a1Y3p3!3r040n3)3I3,3K3.3$040e3=3X3@3Z3#3C0)3O1L331C2@2%0O2+3y0N242D0.1V1K320t343k444d0/4l3n3 0(140/0h443?2`010C140l4x3~4z0m0h142K2|0B0d0/0d2T0m4d0m2(0t4E4r4z13040u4W3+4G142(0o0A0:3i1D4m4y2m4Z0$3O4D4;3p4)0Z4+0:3t4/3v3*3y4Z0H0z3V0l594_4F3c140D4.355b4X2m0K140%4^533Y0m0M142A4$54144#512Z5p3 0m4|4~0B5g4:5c1^555o4`0 5l040#5M5J0 0s0D3h585a5B4(040D505h5!5k5m5S5j3p5s045u5z4q4%4=5x5v5q5E4,0B5(5I5.0 5L5?5i5^1^5P5R655*1^5V5X5?065a663R144Q4S4U5-675O5,6b5N010b2j0401015Y596c0 4t040C1#1;6p6k5$5H3v6j3Y5P020P0B0L5n6t5T016e040S6K6Q4B042g0O6%5C5e606O6D016R6T6V6-4z6!6$6X626?6)6+6`5d044*5~6N5A6u4Z0F5{6.6M7d4Y140E73685m6W5)6u5D754}5~6:796Y7b7g745%7y5K7i576g6i6i6=7q6m1l6o6~6q6?6s7o6Y7q764-7B63147c5?7I5e785@5w047j7F7G6C7p7$7k6r047n3k6P7e5f7;7P5Q7|6!7%6h7-7_5#7A7N3y5P7@6;7/5$7u04845+7~873Y806B8g1^6F2T0B0g0Z0m7|7J2q6n2T3)0Q4o4k458D0Q481C0B4a8I2)2#23252%0o1:8F481I7(3Y2T0s0d0h0o0(0t0d0G0c141u1w1y1A0l7E371P3l1J0!0o0l0j1c0D8R1;4D8C047K4T8z8B4e8f0m001A0B0l2f0^0h3!0N0-2C4T0l0m0-0N1A0b0=2T8;1L3l2@3y1`1(1*1,8W3 2z2q2s142F0q0N0Z129e0v0k2a1l444j5@364m936=6F4v7W4A4C9(4H4J0K4L4N8(957M377a5`7!8c7U5G9(4?8v5}4 9~14568m7#7f8j3 898v5:5=9@7w9_af6 7T7s7V9`ag040H7|697 5W04817H8c867R6 aba94Gad2qa34!9+a15 aHaqaD8h6aaA7O8l7,7.6Y6F6H2p7|0(0N140R0Z1zaH8=3k827-9#5e4waO4{a8aR887mat146}a_6(143!a08dara{a?5Uaua~7^6=0K6)b2b73zaK7%6=7xanaj7:bm7Oasbp3yaTai7O4Z7+a aa140X8a2Z8n3KbiaH7Zbv6Laz61bq14aQbNbtaubj9^7*a,3va.83aV6 8p0:8s8ubgak5FbUaobJbR5|a^b;3 bx8max7Sbobz4z69bD8f6=bua-b!a7bM8b6Yc0a|av8A9!1P468G4h8V8`0l230g0`1=8}0l9i0Z9k9m9e0b1=0B0t3e2|cB9f0g0D0b8/0l0O2g0^910W0D9v0/0^0N0|0$0l1lcscB8{0o1j2g9e2Q0B0K8s0^2Qcncp0^cJ0{0l0T1l0P1z8scK0g9f1i0^0W0:2N0l9|0Y9x8V0J1md31j0l0-0P3B1v2q9e8#cQ1=0g2:8|cB2McY2r0p0j1=7E1S4g2^3 9B1|1+2u6Y9H2B2D9L9N9P2G9S0G9U7!9W3*9Y529!6u9$0ta=bK3Y6)4Dbs5q4I044K4T9:4P8x7L97d%b^ahb@5#9|b.6 9 b+aK8ebka4bX3Gb{b$14ctb30j0?6Jbgbd5eb*b~74d~a+b`5ZdZa;edef4Veh6)2|b39|e4bVe715b!e97Ob%8r8tet0Teg3516984p8E2!8U1N040y0:cAcs1l2V0DcY9d2R2T2V1=1bcHc^1=2~0s0McRcz9d0^0U0ld#0h2U8rcEddc)0tdx0mcQd60Z0f0^0P4}0m0O0Y0l0q0De:c.0t0g0,f95F0^0b7LcK1=c_0mc{fn0ZbF018~2a1bcA0,14090u0m09aN35cW91e=e@1=2Q4d1q1c0=ft0me{cs9u1=e)2Q0T003!0Oe^fCfE0GfG0tfI04fK0m0i0wfN3OfhclfW0W1;0,2N0-fvc^8{9i4R2Oe}0bc)e#0l1y0of/0o118/cW3B3!c=1zga0lft1ige322J2L0-f)ggc^2|0-f(d88@eP0/0;0?0b04.