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

.128013:Lp(40^ed3; 1jo5_n)h]6,qc[y!Cuvïà8i2xms7=wlSatf-9ORrg.TéPkbè/050j0i0U0T0J0R0N0m0z0R0T0N0N0P010U0J0d010406050N0E0M0M0T0!0B040S0p0R0E110p0s0m020T0M0d0l0m0Z0i1b0!0y0E0i0N050-181a1c1e160d041C1J051M0-1M1O1J160j0J0F0_0{0}0 0u0J0#0u0R1$0u0U14050;0+0R0i1X0|0~011#1%1)1%0U1/1;1-0U0+0p0j1e1.0!1K0U0u0_1h0N0d0T0s0 0K011?1Z010V0?0i0s1p0i1-2e2g2l1^2o1;2r0M2t040a0m0)0!0p0d0p0N0J1k1m0/2c0!0!0i0z2O1C2v0s1K0-2a2!0U2827290j2x0 1)0s2q2L1-1U1W0`1@2.0J2:0s241V1-0d2T1K2Y2!35172f1m2_2m2~0!1b0R140n2X3915382w3b1^3d3f140K3j2g3l2Y2-013q0T3g040k3u2Z163x3o0 3A3C0f3F3w393y3L140q3O3H3Q3J3z0p3e3B140w3V3m3a1Y3p3!3r040O3)3I3,3K3.3$040I3=3X3@3Z3#3C0X3O1L331C2@2%0j2+3y0z242D0.1V1K320i343k444d0/4l3n3 0*140/0V443?2`010Q140m4x3~4z0s0V142K2|0U0r0/0r2T0s4d0s2(0i4E4r4z13040e4W3+4G142(0T0o0:3i1D4m4y2m4Z0x3O4D4;3p4)0!4+0:3t4/3v3*3y4Z0t0b3V0m594_4F3c140J4.355b4X2m0p140P4^533Y0s0+142A4$54144#512Z5p3 0s4|4~0U5g4:5c1^555o4`0 5l040W5M5J0 0M0J3h585a5B4(040J505h5!5k5m5S5j3p5s045u5z4q4%4=5x5v5q5E4,0U5(5I5.0 5L5?5i5^1^5P5R655*1^5V5X5?065a663R144Q4S4U5-675O5,6b5N010N2j0401015Y596c0 4t040Q1#1;6p6k5$5H3v6j3Y5P020#0U0l5n6t5T016e040g6K6Q4B042g0j6%5C5e606O6D016R6T6V6-4z6!6$6X626?6)6+6`5d044*5~6N5A6u4Z0A5{6.6M7d4Y140v73685m6W5)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^6F2T0U0E0!0s7|7J2q6n2T3)0-4o4k458D0-481C0U4a8I2)2#23252%0T1:8F481I7(3Y2T0M0r0V0T0*0i0r0u0k141u1w1y1A0m7E371P3l1J0c0T0m0F1c0J8R1;4D8C047K4T8z8B4e8f0s001A0U0m2f0^0V3!0z0(2C4T0m0s0(0z1A0N0=2T8;1L3l2@3y1`1(1*1,8W3 2z2q2s142F0S0z0!129e0)0B2a1l444j5@364m936=6F4v7W4A4C9(4H4J0p4L4N8(957M377a5`7!8c7U5G9(4?8v5}4 9~14568m7#7f8j3 898v5:5=9@7w9_af6 7T7s7V9`ag040t7|697 5W04817H8c867R6 aba94Gad2qa34!9+a15 aHaqaD8h6aaA7O8l7,7.6Y6F6H2p7|0*0z140%0!1zaH8=3k827-9#5e4waO4{a8aR887mat146}a_6(143!a08dara{a?5Uaua~7^6=0p6)b2b73zaK7%6=7xanaj7:bm7Oasbp3yaTai7O4Z7+a aa140C8a2Z8n3KbiaH7Zbv6Laz61bq14aQbNbtaubj9^7*a,3va.83aV6 8p0:8s8ubgak5FbUaobJbR5|a^b;3 bx8max7Sbobz4z69bD8f6=bua-b!a7bM8b6Yc0a|av8A9!1P468G4h8V8`0m230E0`1=8}0m9i0!9k9m9e0N1=0U0i3e2|cB9f0E0J0N8/0m0j2g0^910d0J9v0/0^0z0|0x0m1lcscB8{0T1j2g9e2Q0U0p8s0^2Qcncp0^cJ0{0m0R1l0#1z8scK0E9f1i0^0d0:2N0m9|0$9x8V0Y1md31j0m0(0#3B1v2q9e8#cQ1=0E2:8|cB2McY2r0G0F1=7E1S4g2^3 9B1|1+2u6Y9H2B2D9L9N9P2G9S0u9U7!9W3*9Y529!6u9$0ia=bK3Y6)4Dbs5q4I044K4T9:4P8x7L97d%b^ahb@5#9|b.6 9 b+aK8ebka4bX3Gb{b$14ctb30F0?6Jbgbd5eb*b~74d~a+b`5ZdZa;edef4Veh6)2|b39|e4bVe715b!e97Ob%8r8tet0Reg3516984p8E2!8U1N040D0:cAcs1l2V0JcY9d2R2T2V1=1bcHc^1=2~0M0+cRcz9d0^0H0md#0V2U8rcEddc)0idx0scQd60!0,0^0#4}0s0j0$0m0S0Je:c.0i0E0Lf95F0^0N7LcK1=c_0sc{fn0!bF018~2a1bcA0L14090e0s09aN35cW91e=e@1=2Q4d1q1c0=ft0se{cs9u1=e)2Q0R003!0je^fCfE0ufG0ifI04fK0s0h0KfN3OfhclfW0d1;0L2N0(fvc^8{9i4R2Oe}0Nc)e#0m1y0Tf/0T118/cW3B3!c=1zga0mft1ige322J2L0(f)ggc^2|0(f(d88@eP0/0;0?0N04.

###(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:Lp(40^ed3; 1jo5_n)h]6,qc[y!Cuvïà8i2xms7=wlSatf-9ORrg.TéPkbè/050j0i0U0T0J0R0N0m0z0R0T0N0N0P010U0J0d010406050N0E0M0M0T0!0B040S0p0R0E110p0s0m020T0M0d0l0m0Z0i1b0!0y0E0i0N050-181a1c1e160d041C1J051M0-1M1O1J160j0J0F0_0{0}0 0u0J0#0u0R1$0u0U14050;0+0R0i1X0|0~011#1%1)1%0U1/1;1-0U0+0p0j1e1.0!1K0U0u0_1h0N0d0T0s0 0K011?1Z010V0?0i0s1p0i1-2e2g2l1^2o1;2r0M2t040a0m0)0!0p0d0p0N0J1k1m0/2c0!0!0i0z2O1C2v0s1K0-2a2!0U2827290j2x0 1)0s2q2L1-1U1W0`1@2.0J2:0s241V1-0d2T1K2Y2!35172f1m2_2m2~0!1b0R140n2X3915382w3b1^3d3f140K3j2g3l2Y2-013q0T3g040k3u2Z163x3o0 3A3C0f3F3w393y3L140q3O3H3Q3J3z0p3e3B140w3V3m3a1Y3p3!3r040O3)3I3,3K3.3$040I3=3X3@3Z3#3C0X3O1L331C2@2%0j2+3y0z242D0.1V1K320i343k444d0/4l3n3 0*140/0V443?2`010Q140m4x3~4z0s0V142K2|0U0r0/0r2T0s4d0s2(0i4E4r4z13040e4W3+4G142(0T0o0:3i1D4m4y2m4Z0x3O4D4;3p4)0!4+0:3t4/3v3*3y4Z0t0b3V0m594_4F3c140J4.355b4X2m0p140P4^533Y0s0+142A4$54144#512Z5p3 0s4|4~0U5g4:5c1^555o4`0 5l040W5M5J0 0M0J3h585a5B4(040J505h5!5k5m5S5j3p5s045u5z4q4%4=5x5v5q5E4,0U5(5I5.0 5L5?5i5^1^5P5R655*1^5V5X5?065a663R144Q4S4U5-675O5,6b5N010N2j0401015Y596c0 4t040Q1#1;6p6k5$5H3v6j3Y5P020#0U0l5n6t5T016e040g6K6Q4B042g0j6%5C5e606O6D016R6T6V6-4z6!6$6X626?6)6+6`5d044*5~6N5A6u4Z0A5{6.6M7d4Y140v73685m6W5)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^6F2T0U0E0!0s7|7J2q6n2T3)0-4o4k458D0-481C0U4a8I2)2#23252%0T1:8F481I7(3Y2T0M0r0V0T0*0i0r0u0k141u1w1y1A0m7E371P3l1J0c0T0m0F1c0J8R1;4D8C047K4T8z8B4e8f0s001A0U0m2f0^0V3!0z0(2C4T0m0s0(0z1A0N0=2T8;1L3l2@3y1`1(1*1,8W3 2z2q2s142F0S0z0!129e0)0B2a1l444j5@364m936=6F4v7W4A4C9(4H4J0p4L4N8(957M377a5`7!8c7U5G9(4?8v5}4 9~14568m7#7f8j3 898v5:5=9@7w9_af6 7T7s7V9`ag040t7|697 5W04817H8c867R6 aba94Gad2qa34!9+a15 aHaqaD8h6aaA7O8l7,7.6Y6F6H2p7|0*0z140%0!1zaH8=3k827-9#5e4waO4{a8aR887mat146}a_6(143!a08dara{a?5Uaua~7^6=0p6)b2b73zaK7%6=7xanaj7:bm7Oasbp3yaTai7O4Z7+a aa140C8a2Z8n3KbiaH7Zbv6Laz61bq14aQbNbtaubj9^7*a,3va.83aV6 8p0:8s8ubgak5FbUaobJbR5|a^b;3 bx8max7Sbobz4z69bD8f6=bua-b!a7bM8b6Yc0a|av8A9!1P468G4h8V8`0m230E0`1=8}0m9i0!9k9m9e0N1=0U0i3e2|cB9f0E0J0N8/0m0j2g0^910d0J9v0/0^0z0|0x0m1lcscB8{0T1j2g9e2Q0U0p8s0^2Qcncp0^cJ0{0m0R1l0#1z8scK0E9f1i0^0d0:2N0m9|0$9x8V0Y1md31j0m0(0#3B1v2q9e8#cQ1=0E2:8|cB2McY2r0G0F1=7E1S4g2^3 9B1|1+2u6Y9H2B2D9L9N9P2G9S0u9U7!9W3*9Y529!6u9$0ia=bK3Y6)4Dbs5q4I044K4T9:4P8x7L97d%b^ahb@5#9|b.6 9 b+aK8ebka4bX3Gb{b$14ctb30F0?6Jbgbd5eb*b~74d~a+b`5ZdZa;edef4Veh6)2|b39|e4bVe715b!e97Ob%8r8tet0Reg3516984p8E2!8U1N040D0:cAcs1l2V0JcY9d2R2T2V1=1bcHc^1=2~0M0+cRcz9d0^0H0md#0V2U8rcEddc)0idx0scQd60!0,0^0#4}0s0j0$0m0S0Je:c.0i0E0Lf95F0^0N7LcK1=c_0sc{fn0!bF018~2a1bcA0L14090e0s09aN35cW91e=e@1=2Q4d1q1c0=ft0se{cs9u1=e)2Q0R003!0je^fCfE0ufG0ifI04fK0s0h0KfN3OfhclfW0d1;0L2N0(fvc^8{9i4R2Oe}0Nc)e#0m1y0Tf/0T118/cW3B3!c=1zga0mft1ige322J2L0(f)ggc^2|0(f(d88@eP0/0;0?0N04.