Aller au contenu

Avec ou sans points⚓︎

Une adresse électronique est composée de deux parties séparées par un « @ » :

  • la partie locale, avant le « @ »,
  • la partie domaine, après le « @ ».

Certains services de messagerie ignorent les caractères . dans la partie locale. Ainsi, sur ces services, les messages envoyés aux adresses cours.premiere@e-nsi.fr, co.ur.spremi.ere@e-nsi.fr et cours..premiere@e-nsi.fr arrivent tous au même destinataire courspremiere@e-nsi.fr.

Par contre, les adresses cours_premiere@e-nsi.fr, courspremier@e-nsi.fr et courspremiere@aeif.org ne correspondent pas à ce destinataire.

On cherche dans cet exercice à vérifier qu'une adresse correspond bien à une adresse de référence. L'adresse de référence est l'adresse électronique écrite sans aucun point dans la partie locale.

Les adresses se correspondent donc si :

  • sans tenir compte des caractères ., les deux parties locales comportent les mêmes caractères présents dans le même ordre,
  • si les parties domaines sont strictement égales.

On garantit que les deux adresses ne comptent qu'un seul caractère '@'.

Écrire la fonction correspond qui détermine si adresse correspond à reference. Les deux arguments sont :

  • adresse : l'adresse électronique dont on souhaite tester la correspondance,

  • reference : l'adresse électronique de référence.

La fonction correspond renvoie True ou False selon que les deux adresses correspondent ou non.

Contrainte

On interdit d'utiliser les méthodes split et replace des chaînes de caractères .

Exemples
>>> correspond("courspremiere@e-nsi.fr", "courspremiere@e-nsi.fr")
True
>>> correspond("cours.premiere@e-nsi.fr", "courspremiere@e-nsi.fr")
True
>>> correspond("co.ur.spremi.ere@e-nsi.fr", "courspremiere@e-nsi.fr")
True
>>> correspond("cours..premiere@e-nsi.fr", "courspremiere@e-nsi.fr")
True
>>> correspond(".courspremiere.@e-nsi.fr", "courspremiere@e-nsi.fr")
True
>>> correspond("cours_premiere@e-nsi.fr", "courspremiere@e-nsi.fr")
False
>>> correspond("courspremier@e-nsi.fr", "courspremiere@e-nsi.fr")
False
>>> correspond("courspremiere@aeif.org", "courspremiere@e-nsi.fr")
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 : 5/5
.1280137w3p_fbr42+m)glSn5!@ivP8d q9[6te(.o;F-:k0],a1/s=hucTy050z0G0F0S0v0p0V0A0Z0p0S0V0V0W010F0v0e010406050V0Y0m0m0S0i0#040q0J0p0Y0_0J0r050U101214160~0e04051m1f1p0U1m0~0z0v0w0.0:0=0@0:0r0o0Y0S0o0G0M0e0#0F0X1d0A0X0v0o0X0p1R0X0F0|050)0h0p0G1y0;0?011Q1S1U1S0F1!1$1Y0F0i1n1M0.190V0e0S0r0@0k011(1A010g0+0G0r0S0m0G1Y1}1 241*271$2a2c0|0a0A0x0i0J0e0J0V0v1c0r0A0%1{0i0i0G0Z2x1f2f0r1n0U1M2K1@1_1^1Z0z2h1B0v0r292u1Y1v1x0/1)2U2W0r0J2!1Y0e2D1n2I2K2;0 1~2y2$252*0i130p1Y0S1P2D0g0@030f0f0Z2+0G1U2)0J0M0T3f0|0A0T1f0S2=2^0}2@2g2`1*2|2~30320G340136383a3c2X3f0M22040A0k3l3n1 3p2I2T013u0S2 1n310X333537390%3E2*3G0d3i0d3M2H3o0~3Q3s0@3T3V053X3Z3A3#3D2V3F3g0j3i0j3.1g3:3q2_1z3t0J2}3U3w3Y3y3!3C3%403)3g0s3i0s462;3;2^3R3^4g3|3B3$3b4m3e3g0E3i0E4s483=4b3@4d3v3W3x3z4A3 3d3G0b3i0b4J3O4u3r4M3S4O4f4Q4h4S3~4l4V3g0y3i0y4!2J4$4a2%4)4e3_3{4i3}4k4C4;0M0C3i0C4_3P4v3?4~4P3`4R4j4B3(4E3f0P0|0T0P5b4{4w4*505i535k4D3G0T0T5p3k0U3m3/4#495u4 4y524T4:413f3I0T3L5G3N4`5K5e4x4,4z4/555R0T3+045+5s5Z4(5#5h4-5j4U5*435-455W5I5Y4L4}5=514.545l5B4p5-4r5~475J612{5v5N655z560T4G5-4I6c4t5:626h5$5O5(673g0T4X5-4Z6q4K5d5;6u5?5%665A6z4?5-4^6E6e6G6t5M6v6j5_4n3f585-5a6R606T6g6V6J6w6L560k5o046;5b1q2/1f2!2N0z1_2S5e4B2Z1w1n2.0G2:3o5 1n4B782g0v0z0@372I5B3w7f7h6/5*232l0G7n6k7p2K5H6f1*0O0|0%0g7a6s250c3i7E7y3@0g0|392C0G1}1d0z7J6*1*0{040H7U4%620|0S0z2D0=0G7!4|257X0R7a0A7F3t0|330G2D0r0Z7,6d2J7@0@7X0n0N7a0~807d2y7m017i2^3G3I5h8c6x6M3H7q2b7s8d7o6Z8h5W0A8v7?7K3S0|0p1d1E0G0Y0i0f7(0i7=82010J0|0W8K8y0r0h8A297-3R7X7Z898L0r7%7)7Q0V7 2?8y84878W8j0f7j3g5,8i7g8q7u6Z3+0A7r7t6Y5m8^8u8w8#8A8C0Y8E8G338Q7V0@8N048P898x9f3S8T042k8W5e8Y9r5;7_3y7{297~9u4}8.89888,4v8;8?0M5{8_915Q6Z438 8o9N5)9P1Y5W9F793Q9I8f4o7l8`8k564p9R2c9T6y0M693M8w9l7#2{0|0v8H7)9e9_1*9h9j2;9^7.1*0m0v0|5r9E8:9)8=9$0M6n9M8{923G4G9-8p9*5Rai958v97049|9d9k8La29 a60@a8aa8/8!9!ae9J6Bajaq6Z4Xao9/8laM9Xad7n9J6OaN8r5m4?aRak9Oa$9W3m9@av8B0Z3UaC3RaBaz8y0O0Z0|0!0i9aaH9G7eaKag6#a!8|5m58a(aOb9a,3paI9Hb41 5B6=b7al6z5obba#bkbea.a`0|0c1Q1$a?9s0|8Zb2aD8zaw9}8Ja_9m9h020p0F0KbA9v9p999bbI9B7/0|0nbR4}0J7H041 7TbKa083bCbX7^bHaya4aA0|bNbPb#9`bT1D9a8F0fb?9Z9m8486acbgb3aXag5C9(aS6l5Dbqb85B5D7w3J9@96bvaw7Db,bF8$b)8(7+b:b.040DczbG9|8IcD7X0Qb|a18Oa33oa53R0V3I020B0Y0JbP0IcTcVb{cta@b(b*cK3@98a;0pcH0|c76rc98bbi0r5B8h318;cj6z22cibn5Sbtcod5avcF9~c$5e9h0lcN3OcP5eaF5-b1c4ca8q9J5+cea)9U5mdpd1a*5B94a-d5dg4(7A044Ccsb@8R8%7*8*c/cBcDcvd8bJbE8X0|cJda4(9h0tde2JdB7$047`7|9Ac?dTdNd,5!9{c23ydM0Qc;48d,9#bj6z9Lc|aec~3f9Q90dr9:0T9LatdAaucq2D0F8F1edW4}a{0|0L3UdLc8dSd|c_6z9=e0cf5*9,e5bc68d4d6cq3beodSbB04d_5Jd{c^5Baieve68l6m8n9.eR6lasdzebec9mdD0vdGcOavd)9z8+dlbF7XcCd/bSaxd?e?9CdUc*8McMe}cRb_cUcW0K0ucZf4dMeK5YeMcbd}3faMeQeA6zaQezbrfjeCe!bu9mcva:a=ei25a^dHe$a|04em0,e.eLeqeN6Ndqfi3fa%fle20TaZeaebd7bWfvcL04dde}di5Fc=fGfdes6!fJfmf*dvds5Bb6fRdAfTc3dfb^fXd!3J8Lf!dk3O5Ker8gblfhf,6;eUapg7blea8LdDeeege}9te`b}dQe}a2f|d$b}8Bb bVcGgk7WbZgnc(0rb+fyb-01gjeHe@d=e)f_8ygoe}fsbUc1f^818-gyep790U7c6_776{741f0F6~g(2Q2L0S1#g#0U6|880%0)0+0V04.