• 1
    डेटा I/O
    • कार्य
  • 2
    शर्तें
    • कार्य
  • 3
    for लूप
    • कार्य
  • 4
    स्ट्रिंग
    • कार्य
  • 5
    while लूप
    • कार्य
  • 6
    सूचियां
    • कार्य
  • 7
    2D मैट्रिक्स
    • कार्य
  • 8
    डिक्शनरी
    • कार्य
  • 9
    सेट
    • कार्य
  • 10
    फ़ंक्शन
    • कार्य
  • к

पाठ 1. Entering and output of data

कठिनाई:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

कार्य«पार्सर लॉग फ़ाइलें»

💻 Python

एक प्रोग्राम लिखें जो सर्वर लॉग-फ़ाइल को स्वीकार करता है, सभी अद्वितीय IP पतों को ढूंढता है और उनकी संख्या प्रदर्शित करता है। & nbsp;

rn

पाठ की कुछ पंक्तियाँ, पाठ की कुछ पंक्तियाँ, कुछ पंक्तियाँ। जिनमें से प्रत्येक लॉग में एक रिकॉर्ड है। IP पता हमेशा पंक्ति का पहला तत्व होता है और शेष भाग से एक स्थान द्वारा अलग किया जाता है। इनपुट तब समाप्त होता है जब "0" प्रेषित किया जाता है।

इनपुट फॉर्मेट

कई पंक्तियाँ। IP हमेशा बिल्कुल शुरुआत में लिखा जाता है।

आउटपुट फॉर्मेट

एक संख्या & mdash; इनपुट डेटा में पाए गए अद्वितीय IP पतों की संख्या।

उदाहरण

इनपुट

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

संकेत

There will be no clue here, decide for yourself!

main.py
परीक्षण 1
परीक्षण 2
परीक्षण 3
परीक्षण 4
परीक्षण 5
परीक्षण 6
परीक्षण 7
परीक्षण 8
परीक्षण 9
परीक्षण 10
डेवलपर का समाधान
# Множество для хранения уникальных 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))

🎉 बधाई! 🎉

आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।

AD

विज्ञापन

red-snake blue-snake green-snake

कोड चल रहा है...

AI सहायक

नमस्ते! मैं आपका प्रोग्रामिंग सहायक हूँ। Python के बारे में कोई भी सवाल पूछें — मैं functions, methods समझा सकता हूँ और मौजूदा task में मदद कर सकता हूँ!