def classe_ip(adresse):
# La liste des classes d'adresses IP
classe = ["classe A","classe B","classe C","classe D","classe E"]
# Boucle pour parcourir tous les caractères de l'adresse IP
for c in adresse:
# Vérifie si le caractère est un 0 ou un 1
if c not in ['0', '1']:
# Si ce n'est pas un 0 ou un 1, retourne "Adresse IP non valide"
return "Adresse IP non valide"
# Initialise un compteur à 0
i = 0
# Boucle while pour parcourir tous les bits de l'adresse IP
while i < len(adresse) and adresse[i] != '0':
i += 1
# Si tous les bits sont 1, retourne la classe E
if i >= len(adresse):
return classe[4]
else:
# Sinon, retourne la classe correspondant à la position du premier bit 0
return classe[i]
print(classe_ip("01000000")) # retourne "classe A"
print(classe_ip("10000000")) # retourne "classe B"
print(classe_ip("11050000")) # retourne "Adresse non valide"
def masque(adresse):
classe = classe_ip(adresse)
return (8 if classe == "classe A" else 16 if classe == "classe B" else 24 if classe == "classe C" else "adresse non valide")
print(masque("11000000101010000000000100000001")) # 6
print(masque("11000000.10101000.00500001.0000001")) # "Adresse non valide"
Copyright © 2024 ELIBRARY.TIPS - All rights reserved.
Lista de comentários
def classe_ip(adresse):
# La liste des classes d'adresses IP
classe = ["classe A","classe B","classe C","classe D","classe E"]
# Boucle pour parcourir tous les caractères de l'adresse IP
for c in adresse:
# Vérifie si le caractère est un 0 ou un 1
if c not in ['0', '1']:
# Si ce n'est pas un 0 ou un 1, retourne "Adresse IP non valide"
return "Adresse IP non valide"
# Initialise un compteur à 0
i = 0
# Boucle while pour parcourir tous les bits de l'adresse IP
while i < len(adresse) and adresse[i] != '0':
i += 1
# Si tous les bits sont 1, retourne la classe E
if i >= len(adresse):
return classe[4]
else:
# Sinon, retourne la classe correspondant à la position du premier bit 0
return classe[i]
print(classe_ip("01000000")) # retourne "classe A"
print(classe_ip("10000000")) # retourne "classe B"
print(classe_ip("11050000")) # retourne "Adresse non valide"
def masque(adresse):
classe = classe_ip(adresse)
return (8 if classe == "classe A" else 16 if classe == "classe B" else 24 if classe == "classe C" else "adresse non valide")
print(masque("11000000101010000000000100000001")) # 6
print(masque("11000000.10101000.00500001.0000001")) # "Adresse non valide"