🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
ProgerLib Python für alle
Schreiben Sie ein Programm, das die Server-Logdatei einliest, alle eindeutigen IP-Adressen findet und deren Anzahl ausgibt. & nbsp;
rn
Einige Textzeilen, einige Textzeilen, einige Zeilen. Jede davon ist ein Eintrag im Log. Die IP-Adresse ist immer das erste Element in der Zeile und wird durch ein Leerzeichen vom Rest getrennt. Die Eingabe endet, wenn "0" übermittelt wird.
mehrere Zeilen. Die IP steht immer ganz am Anfang.
Eine Zahl & mdash; Die Anzahl der eindeutigen IP-Adressen, die in den Eingabedaten gefunden wurden.
192.168.0.1 - [10/Jan/2024: 13:55:36 +0000] "GET /index.html HTTP/1.1" 200 2326
192.168.0.2 - [10/Jan/2024: 12:11:06 +0000] "GET /index.html HTTP/1.1" 200 1234
192.168.0.1 - [11/Jan/2024: 16:45:21 +0000] "GET /index.html HTTP/1.1" 200 2326
0
2
# Множество для хранения уникальных IP-адресов
unique_ips = set()
while True:
line = input().strip()
# Проверка на завершение ввода
if line == "0":
break
# Пропускаем пустые строки
if not line:
continue
# Извлекаем первый элемент строки (предполагаемый IP)
parts = line.split()
if not parts:
continue
potential_ip = parts[0]
# Проверяем, является ли строка валидным IPv4 адресом
# Разделяем строку по точкам
ip_parts = potential_ip.split('.')
# Должно быть ровно 4 части
if len(ip_parts) != 4:
continue
valid_ip = True
# Проверяем каждую часть IP
for part in ip_parts:
# Каждая часть должна состоять только из цифр
if not part.isdigit():
valid_ip = False
break
# Преобразуем в число и проверяем диапазон (0-255)
num = int(part)
if num < 0 or num > 255:
valid_ip = False
break
# Проверяем, нет ли ведущих нулей (кроме случая, когда число равно 0)
if len(part) > 1 and part[0] == '0':
valid_ip = False
break
# Если IP валиден - добавляем в множество
if valid_ip:
unique_ips.add(potential_ip)
# Выводим количество уникальных IP-адресов
print(len(unique_ips))
🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
AD
Werbung
Führe deinen Code aus...