Adresses IP
On définit une classe gérant une adresse IPv4.
On rappelle quâune adresse IPv4 est une adresse de longueur 4 octets, notĂ©e en dĂ©cimale
à point, en séparant chacun des octets par un point. On considÚre un réseau privé avec
une plage dâadresses IP de 192.168.0.0
Ă 192.168.0.255
.
On considĂšre que les adresses IP saisies sont valides.
Les adresses IP 192.168.0.0
et 192.168.0.255
sont des adresses réservées.
Le code ci-dessous implémente la classe AdresseIP
.
Compléter le code ci-dessous et instancier trois objets : adresse1, adresse2, adresse3 avec respectivement les arguments suivants
'192.168.0.1', '192.168.0.2', '192.168.0.0'
Exemples
đ Console Python
>>> adresse1.liste_octets()
[192, 168, 0, 1]
>>> adresse1.est_reservee()
False
>>> adresse3.est_reservee()
True
>>> adresse2.adresse_suivante().adresse # acces valide Ă adresse
# ici car on sait que l'adresse suivante existe
'192.168.0.3'
Compléter le code ci-dessous
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
.128013y1]/wi_qP+r 7F9fIg;2h)(pNn0ldT,4Akjéebmc:35a=o[.8t6sSÚuxv050D0L0Y0S0g0C0!0m0O0C0S0!0!0T010Y0g0y010406050!0%0N0N0S0l0b040#0U0C0%0}0U0A050e1416181a120y04051q1j1t0e1q120D0g0)0=0@0_0{0v0g0s0v0C1H0v0Y10050-0M0C0L1C0^0`011G1I1K1I0Y1Q1S1O0Y0l1r0Y0v0=1d0!0y0S0A0{0u011U1E010q0/0L0A0S0N0L1O1;1?1{1W1~1S2123100a0m0j0l0U0y0U0!0g1g0A0m0+1/0l0l0L0O2o1j260A1r0e1-2B1*1,1+1P0D280{1K0A202l1O1z1B0?1V2L0g2N0A0U2R1O0y2u1r2z2B2)131=2p2T1|2Y0l170C100m0c2y2-112,272/1W2;2?2^0u2{1?2}2z2K01320S2@040m0Q362A1239300{3c3e0m0G3i382-3a3o2^0R3s3k3u3m3b0U2=3d2^0Z3z2~2.1D313E333f0n3J3l3M3n3O3G3f0X3S3B3U3D3F3p0p3!2 3$3w040c0B3+3L2U3%3P0c2`1k2|3A3,3@3.0c353|373~3?2:3W3e0c3h443j3K3v49100c3r4d3t3 483(4i3y4l464g4p3/3I4s4f3C413R4y3T404h3/3Z4D3#4F4v0c3*4J4n3N4v0u3;4P474R3P0u3{2)4t4A4G0u434#4z3-4(4c4+4E4o4Y4k4:4K4=3X0u4r4^4Q3V4S4x4~4W504Y4C534u4Y4I584%4S4O5c4-4v0Q4U5g4L3P0Q4!2|1u2%1j2R2E0D1,2J3C0O2Z241r5u1s5s2+4l055A0+2(4_1W0I10303s0m4,400O100H0D2u0_0L0r0j3s5U1|0 040P3z0m5:5T4;5O100+0q5S5*290N100h0h2W2n605)5?0{5,0x655N0{0M5,0!0L0C5`5I66015,0F5{6k0A100S5Z0L5#6a4 6l100w5.4s5;6D5=6b016d106f6h6w54010U100W6M3v6r6t6v4l6F6x6P040T6o6G6q046s5!6f5S06066D5|0{5P045_6%6x0A0q101K0!0Y0L0h0U2w0,0!6S3C68783$6I046K6i2+6k5,6A3=3a0f2^6E5:7b3@0!0D10020i0%0U0Y0t7w7y7A7C7z0t2u0A0)0U0g1T0%2N0m6 712q1T2Y0N0M5!0m200}0L0l0!6n4V3a7t7o7p0@7Q0g701T0+0;74710Y0;2r0C02030Q0p0t6+6u6f0m5%7F7E7x7G890t5/7p6Y6N0O0c10030m0z7z1T0P0m1;1K0Y2q0K5A0%0y1T7/0O0v0.7P2r0O180S2w0$7Y8f7p6=018j8l7Z2p0q1h2w0g1h2q0%8s0K1=0l0S710%0l8O6E8Q6@2u0Y8-1i6X8Q5,0V7r2:0M102W0Y8~1W7a6j6(9194676z6`6N6@8W8.8`6p999i6G0U7n042W9d3a7d7f9a6O6Q9v6)846W7h9m9x976{6J0y8u9v969C6x0!1_048d0W8d9K6z0d3z6:5;8;5^0L7g2|8h3v6}046u0Y0h5!7$0)0L0L9U04699F6N9t6g9%378{6z6B5l1|9o8g5T9{7+7u9Q8b8a7D7Bad7H207K7M0m0E0l0%1T2m7Q7 81836V865%7Z700m7O1T9A6-7*3C7,3f8g0l0K6f0l0)0K0L0F0m0o3d862m2Y0A8da!ah8/6;9j049:aO9?779l6Z106$a/6N8|9raH8k9Q80824N0u0W0c0Z0X0W0Bb5at829^7)2)9)a`7va}0ta b1b3b50W4|0Rb88ea?3a5,9W6X9Y8P6k8=0,8^a_7c6e9~9v6!6Ra94A6U6,9@br3C9n918_bc8Q6)a+9=6u6.bwbd3$6@6_bO3-9+aE72141A1?719^9`9M9|bE6LbJ3$7ja33}8Qa68g9vaIa#af8d7Iak7N2p0U0M0J0,7T0m5YbMay0S9=0Oasbgb,7laHaba7ay7x0g8s0%2ncoaub,8s9~8scx6g1S7Z0(7;7Scf8o7PaX1hc58ca$6Cc2a)7_76bC3@6!a=bT6k9}b`b@3abH9y6~cM72cZ7{b=0w6.a79!9p9 2Ab#4010c@a.c-79108}b{3@0N0g104/5q7i10buc)9D6#c(9(8Qdc104|4@dg6G5,b~370mb!c|by108?bBb)3@0I5W04cPbN4#dB9804c@0h2Y0%9=0S0%c#1|c%dY31d375c^da5+d89vdq04dfa0dh04djdo6k6!0kd#0{d.5pdydA9ZdCa*bA0lbSd^dPci855$5(d*9510b?du9Na{bpbib2b4b6bpd|9w04d{dG8 6J1*b=c:dQd(dS0UdU0LdW9^0wc`4s6/4$3-bLebd d08Qd!evd$04ea5#5%ezee0{0!ekbgembkb60ceqe$6y04eKa4eWb,4*e8a:6#er6)eY6fe!e:9Lei6Ne(bfaue+eobme/d6b|9caGeO6*aw0Ld:eSd_a;e~5Xfkf2fe3@f4d;6Gf7a|f90pb0enbl0Bfdf5bsfg4+0e5K0L2B2$fO5t1A5v2E2H2C0S1RfR0e5u12f#0,0.0:04.
# Tests
(insensible Ă la casse)(Ctrl+I)
(Ctrl+Clic pour inverser les colonnes)