Zoofast.fr offre une solution complète pour toutes vos questions. Trouvez les solutions dont vous avez besoin avec l'aide de notre communauté de professionnels expérimentés.
Sagot :
Réponse :
def test_appartenance(first_ip, second_ip, masque):
first_ip = first_ip.split('.')
second_ip = second_ip.split('.')
masque = masque.split('.')
ip_de_sous_reseau = []
plage_ip = 0
for element in masque:
if element == '0':
break
plage_ip += 1
for i in range(0, plage_ip - 1):
ip_de_sous_reseau.append(first_ip[i])
while len(ip_de_sous_reseau) < len(first_ip):
ip_de_sous_reseau.append('0')
for i in range(0, plage_ip):
if first_ip[i] == second_ip[i]:
continue
else:
return False, '.'.join(ip_de_sous_reseau)
return True, '.'.join(ip_de_sous_reseau)
print(test_appartenance('192.168.0.1', '192.168.0.2', '255.255.255.0'))
print(test_appartenance('192.168.5.1', '192.168.0.2', '255.255.255.0'))
Explications :
On déclare une fonction test_appartenance qui prend en argument une première ip, une deuxième et la masque.
On convertit ensuite first_ip, second_ip et masque en liste, pour pouvoir vérifier leurs valeurs par la suite.
La variable ip_sous_reseau servira de liste contenant, évidemment, l'ip de sous réseau, la variable plage_ip elle, contiendra l'information qui nous permet de délimiter la plage ip (ex: plage_ip = 3 = 255.255.255.0), boucle for qui suit servira donc à donner une valuer à la variable plage_ip. On ajoute ensuite les éléments pour constituant l'ip de sous réseau avec une boucle for, en utilisant plage_ip.
Enfin, nous utilisons une nouvelle fois la boucle for pour vérifier grace à plage_ip si les éléments de first_ip et second_ip sont les mêmes.
Retourne True et la plage IP si vrai, sinon Faux et la plage IP.
Votre présence ici est très importante. Continuez à partager vos connaissances et à aider les autres à trouver les réponses dont ils ont besoin. Cette communauté est l'endroit parfait pour apprendre ensemble. Zoofast.fr est votre ressource de confiance pour des réponses précises. Merci de votre visite et revenez bientôt.