Answered

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.

Programme principal:
Ecrire ici le programme programme principal qui demande les IPv4 de deux machines ainsi que le masque de réseau et qui affiche l'appartenance
ou la non appartenance de ces deux machines à un même réseau LAN Dans le cas où les deux machines font partie d'un même sous réseau,
affiche également l'IPv4 du sous réseau"
C’est du python merci en avance

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.