2-string
4-modulo
Le code de CĂ©sar
Le codage de César transforme un message en changeant chaque lettre par une autre obtenue par décalage dans l'alphabet de la lettre d'origine. Par exemple, avec un décalage de 3, le 'A'
se transforme en 'D'
, le 'B'
en 'E'
, ..., le 'X'
en 'A'
, le 'Y'
en 'B'
et le 'Z'
en 'C'
. Les autres caractères ('!'
, '?'
...) ne sont pas codés et sont simplement recopiés tels quels dans le message codé.
La fonction position_alphabet
prend en paramètre un caractère lettre
et renvoie la position de lettre
dans la chaine de caractères ALPHABET
s'il s'y trouve.
Ecrire la fonction cesar
qui prend en paramètres une chaîne de caractères message
et un nombre entier decalage
et renvoie le nouveau message codé avec le codage de César utilisant ce decalage
.
Exemples
Python Console Session >>> cesar ( 'BONJOUR A TOUS. VIVE LA MATIERE NSI !' , 4 )
'FSRNSYV E XSYW. ZMZI PE QEXMIVI RWM !'
>>> cesar ( 'GTSOTZW F YTZX. ANAJ QF RFYNJWJ SXN !' , - 5 )
'BONJOUR A TOUS. VIVE LA MATIERE NSI !'
Astuce
👉 Rappel :
On rappelle que pour un entier n
positif, n % 26
renvoie le reste dans la division de n
par 26.
Voici quelques exemples :
Python Console Session >>> 10 % 26
10
>>> 26 % 26
0
>>> 27 % 26
1
>>> 28 % 26
2
>>> 53 % 26
1
>>>
Compléter ci-dessous
.128013kEg[: r);S/(Blo4y,6b=ac1Z5+ud3t28_Pw7evLp-fh%HT9mnA]is050D0M0F0w0#0o0$0g0x0o0w0$0$0v010F0#0P010406050$0C0X0X0w0h0r040k0p0o0C0`0p0Y050l111315170 0P04051n1g1q0l1n0 0D0#0N0/0;0?0^0;0Y0d0C0w0d0M0Q0P0r0F0S1e0g0S0#0d0S0o1S0S0F0}050*0u0o0M1z0=0@011R1T1V1T0F1#1%1Z0F0h1o1N0/1a0$0P0w0Y0^0G011)1B010R0,0M0Y0w0X0M1Z1~20251+281%2b2d0}0a0g0J0h0p0P0p0$0#1d0Y0g0(1|0h0h0M0x2y1g2g0Y1o0l1N2L1^1`1_1!0D2i1C0#0Y2a2v1Z1w1y0:1*2V2X0Y0p2#1Z0P2E1o2J2L2=101 2z2%262+0h140o1Z0w1Q2E0R0^030I0I0x2,0M1V2*0p0Q0G0Q0y0}0y1g0w2?2_0~2^2h2{1+2}2 31330M350137393b3d2Y3g3g0}0G3m3o203q2J2U013v0w301o320S3436383a0(3F2+3H0E0}0E3L2I3p0 3P3t0^3S3U053W3Y3B3!3E2W3G3h0q0}0q3-1h3/3r2`1A3u0p2~3T3x3X3z3Z3D3$3 3(3h0A0}0A452=3:2_3Q3@4f3{3C3#3c4l3f3h0t0}0t4r473;4a3?4c3w3V3y3A4z3~3e3H0L0}0L4I3N4t3s4L3R4N4e4P4g4R3}4k4U3h0H0}0H4Z2K4#492(4(4d3^3`4h3|4j4B4:0Q0W0}0W4^2L2/0M2L2#2O0D1`2T3=014A2!1x1o5c2;3p3.3N054A5r2h0#0D0^382J3H3j4P5z5B533%4D3i242m0M5I4A5K5E1Z0l3n483Q0b0}0(0R5t2K0g5X5k0Y0R0}0x0M0$155%5x4{260|040m5?5*4%0Y0}2d0?1H0M5}4K4|5`0s5?5)672|5!2F3T64664u5k5`0i0f5?0 465u3P5H015C2_3H235G5A6v5J4C6y5N2c5P6C5R6E3h6z3L0g6P6c6k5 0}2E110o0*0F6b5~4|0p0}0v6!6d1+0$5F02030E0W0j6/6;0j6p6j5y6B6w203)3x6u4.54400Q3*0g5O5Q4T753*2L3n6Q6R4$4|5Z040R4c6*6S4|60040x150w2G0M2E7o7i260p0K0}2W7z5^3u615:5;1I6{7H0^5`6o6r4_7N0g720I5D41716}6D5542786H7a4/75427e047g7g6#267k0#5$7S7:7?6,6.6:6=0Z6@6=7G3Q6%04026X0j6)7{7h7O3R5.7u7w7y8d7}0^7C0}200D855+8h0h7v0F7x658l6+8n0}890F8b8s4%6-8D800j0z836_7{8m017Q6`8Q6t7#7Y0Q4o6A7+744m8Z6G2d8$5S4n5U7f7;8;8R7r2W1w5/8H6$6(8{5_0}5|8V7p6e042u2w2y0I3T0P0S0w0u0)7U6l909g6T7s8i8x8k2@8B8S0}0i8~1+870B9u3?6f7t0;7M927A1+6m9y01870T9I0X0#3J4H7{6q9p4u7W8Y4F8#6J7b8(4F7)8+9Z7,9#8/7:8;7;8?6U5:0C6X0w6Z8A939v8}9`9F9z046V9?6Y9I9w9I7r0Z0O0J0U0Z0n0c0V9j680}0eah948^0#8`9E8f5`0!8U9T6|5I8Y4W9Y738-0Q4W9%6IaB6LaD9,9.8e5Y0}3c0$8zavar0}7R4s7U9V6x4;7!8,aI4=aFa$554=7/aL7=9q7ra29@9_2=aM5k878ca^9:a19=a?a50}9x9~8f7r7t8v8jaR47aq7V8XaZ56a#9)8%5L57a)bjaC57a-6Q8R7k2E0F0C0h1fb54v9;6Wa49R5}0l5w1r2:1g5f1g0F5hbN2R2M9d1%5e5o6q0(0*0,0$04.
# Tests
(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)