Тема 9. Обработка числовой информации в электронных таблицах
9.04 Прочие прототипы
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка числовой информации в электронных таблицах
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#35907

Задание выполняется с использованием прилагаемых файлов.

Программист Саша купил таблицу с IP-адресами кодировки IPv4 из 11  случайных сетей, но, взглянув на неё, он сразу увидел, что некоторые IP-адреса не могут существовать, так как в одном байте не может содержаться число, большее чем 255  (так, например, адрес 255.51.15.81  может существовать, а вот 256.21.24.56  или 500.0.0.0  не могут). Вам требуется найти номера сетей, в которой содержится больше всего и меньше всего настоящих адресов. Для вашего доступа предоставлены последние 11  разных сетей, в каждой из которых дано по 50  IP-адресов. Откройте файл электронной таблицы, содержащей IP-адреса и номера сетей. Номера сетей даны на отрезке [B1;L1]  .

Требуется найти номера таких сетей, содержащие максимальное и минимальное количество реальных IP-адресов и сложить их. В ответе запишите сумму искомых значений.

Вложения к задаче
Показать ответ и решение

Перенесем все данные из таблицы в текстовый документ

f = open(’1.txt’)
все строки первого столбца
все строки второго столбца
...
n = 11 # всего сетей
m = 50 # всего адресов в сети
minim, maxim = 100000000, -1
ind_1, ind_2 = -1, -1

for i in range(n): #всего n сетей
    count = 0 # счетчик неправильных сетей
    for j in range(m): # m ip адресов в каждой сети
        # разбиваем каждый ip адрес на числа
        a = [int(x) for x in f.readline().split(’.’)]
        for x in a: # проверяем каждое из чисел массива
            if x > 255:
                count += 1
                break
    if count > maxim: # сохраняем номер сети с максимальным количество ошибок
        maxim = count
        ind_1 = i + 1 # индексация в питоне с 0, не забываем добавить 1
    if count < minim: # сохраняем номер сети с минимальным количество ошибок
        minim = count
        ind_2 = i + 1 # индексация в питоне с 0, не забываем добавить 1
# В сети, где меньше всего ошибок больше всего правильных адресов --- ind_2
# В сети, где больше всего ошибок меньше всего правильных адресов --- ind_1
print(ind_1 + ind_2)

Ответ: 9

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!