Python :: Aufgabe #101 :: Lösung #3

3 Lösungen Lösungen öffentlich
#101

Ermitteln der IP-Klasse

Anfänger - Python von Energy - 09.03.2016 um 14:48 Uhr
Schreibe ein Programm, was nach einer IP-Adresse fragt. Anschließend soll die IP-Klasse ermittelt und ausgegeben werden.
#3
vote_ok
von Peter... (160 Punkte) - 19.08.2016 um 17:57 Uhr
Hier meine Lösung. Es wurde Python 3 genutzt.
Habe ich die IP-Klasse als Netzklasse richtig verstanden?
https://de.wikipedia.org/wiki/Netzklasse
Quellcode ausblenden Python-Code
def Abfrage(x, adress_part, Adresse):
	if x[0] <= adress_part <= x[1]:
		print('\nDie Adresse', Adresse, 'ist in der Netzklasse', x[2]+'.')
		
		
Adresse = input('Bitte geben Sie eine IP-Adresse der Form n.n.n.n ein:\n')
parts = Adresse.split('.')

#Die folgende if-Abfrage und Schleife dient zur Abfangung falscher Eingaben
try:
	if Adresse.count('.') != 3:
		raise SyntaxError()
	for i in parts:
		if int(i) > 255:
			raise SyntaxError()

#Dieser Teil ermittelt anhand des ersten Teils der Adresse die Klasse
	adress_part = int(Adresse[0:Adresse.index('.')])
	tupel = ((0, 127, 'A'), (128, 191, 'B'), (192, 223, 'C'), (224, 239, 'D'), (240, 255, 'E'))
	for j in tupel:
		Abfrage(j, adress_part, Adresse)
except:
	print('\nSie haben eine falsche Eingabe getätigt!\nDie Adresse darf nur aus Zahlen bestehen\nund muss durch drei "." aufgespalten sein!\n Z.B. 203.0.113.195' )
	
#Mir ist bewusst, dass es auch die unten stehende Möglichkeit gibt, die zudem performanter ist, als die obere, aber ich wollte das Ganze etwas verkürzen.
	
# if 0 =< adress_part <= 127:
	# print('\nDie Adresse', Adresse, 'ist in der Netzklasse A.')
# elif 128 =< adress_part <= 191:
	# print('\nDie Adresse', Adresse, 'ist in der Netzklasse B.')
# elif 192 =< adress_part <= 223:
	# print('\nDie Adresse', Adresse, 'ist in der Netzklasse C.')
# elif 224 =< adress_part <= 239:
	# print('\nDie Adresse', Adresse, 'ist in der Netzklasse D.')
# elif 240 =< adress_part <= 255:
	# print('\nDie Adresse', Adresse, 'ist in der Netzklasse E.')

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2109237

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.