🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Écrivez un programme qui accepte le fichier journal du serveur, trouve toutes les adresses IP uniques et affiche leur nombre. & nbsp;
rn
quelques lignes de texte, quelques lignes de texte, quelques lignes. Chacune d'elles est un enregistrement dans le journal. L'adresse IP est toujours le premier élément de la ligne et est séparée du reste par un espace. La saisie se termine lorsque "0" est transmis.
plusieurs lignes. L'adresse IP est toujours écrite au tout début.
Un nombre & mdash; Le nombre d'adresses IP uniques trouvées dans les données d'entrée.
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))
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...