🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
ProgerLib Python para todos
Escreva um programa que aceite o arquivo de log do servidor, encontre todos os endereços IP únicos e exiba a quantidade deles. & nbsp;
rn
Algumas linhas de texto, algumas linhas de texto, algumas linhas. Cada uma delas é um registro no log. O endereço IP é sempre o primeiro elemento na linha e é separado do restante por um espaço. A entrada termina quando "0" é transmitido.
várias linhas. O IP é sempre escrito no início.
Um número & mdash; O número de endereços IP únicos encontrados nos dados de entrada.
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))
🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
AD
Publicidade
Executando seu código...