Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2020 17:04:09

cudaplic
Зарегистрирован: 2020-07-12
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с индексами в списках

Добрый день. Для школьного проекта я должен сделать программу которая может решать 12 задание из егэ по информатике. На данном этапе мне нужно c помощью индексов списка объеденить числа списков не затрагивая точки, но так как IP-адреса могут быть разные положение точек в списках нельзя предугадывать. Поэтому я сделал второй список. который после ввода со стороны пользователя заполняется индексами точек и с помощью метода join я пытался объеденить числа отталкиваясь от того что знаю расположение точек но что-то пошло не так. Программа объеденяет не то, а иногда просто удаляет несколько элементов списка. Прошу найти ошибку.

Отредактировано cudaplic (Июль 12, 2020 17:46:22)

Прикреплённый файлы:
attachment ege12.py (1,1 KБ)

Офлайн

#2 Июль 12, 2020 19:18:34

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Работа с индексами в списках

cudaplic
IP-адреса могут быть разные положение точек в списках нельзя предугадывать
можно не гадать а получать
 def index_points(data):
    return [ i for i,x in enumerate(data) if x =='.']
def filter_points(data, points):
    return ''.join([x for i,x in enumerate(data) if i not in points])
    
a = '192.168.1.11'
points = index_points(a)
print(filter_points(a, points))
если это так как понял я.

Офлайн

#3 Июль 12, 2020 21:59:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с индексами в списках

cudaplic
Для школьного проекта я должен сделать программу которая может решать 12 задание из егэ по информатике.
Напиши задание точно.



Офлайн

#4 Июль 13, 2020 04:22:26

cudaplic
Зарегистрирован: 2020-07-12
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с индексами в списках

py.user.next
В задании даётся два IP-адреса: маска и IP-адрес компьютера. После этого в задании пишут что нужно узнать: подсеть или номер компьютера в этой подсети. Для этого данные адреса нужно перевести в 2-ю систему счисления (числа разделённые точками независимо друг от друга, после перевода точки убрать) и получится 32 значные адреса состоящие только из 1 и 0, 1 в маске будут показывать какие числа в адресе отвечают за адрес подсети, а 0 за номер компьютера в ней. Например: 11111111110000000000000000000000-маска 10011101011000110101100110010110-адрес компьютера
10 едениц в маске = первые 10 чисел в адресе
1001110101 если перевести это число в 10 систему счисления получится номер подсети, а если перевести в 10 СС все остальные (не трогая эти 10) то получится номер компьютера в этой подсети.

Отредактировано cudaplic (Июль 13, 2020 06:45:03)

Офлайн

#5 Июль 13, 2020 21:09:23

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Работа с индексами в списках

так?

 def binary(num):
    number = int(num)
    result = ''
    while number:
        result = str(number % 2) + result
        number = number // 2
    return result
adress = '255.255.255.123'
print(''.join(map(binary, adress.split('.'))))
1111111111111111111111111111011

Офлайн

#6 Июль 14, 2020 01:36:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с индексами в списках

wiki. маска подсети

cudaplic
В задании даётся два IP-адреса: маска и IP-адрес компьютера. После этого в задании пишут что нужно узнать: подсеть или номер компьютера в этой подсети.
Ты так пишешь, как будто пересказываешь задание своими словами. А точно написать задание означает переписать точно то, что написано в задании. Мало кто здесь к ЕГЭ и школьной информатике имеет отношение. Всё это мало относится к программированию на профессиональном уровне. Многие здесь могут вообще не знать, что такое ЕГЭ, так как только в России экзамен такой есть.

Поэтому когда вопрос задаёшь про ЕГЭ, позаботься о том, чтобы мы не искали это задание, про какой ЕГЭ речь, какого года и тому подобное. Там может быть несколько двенадцатых заданий по информатике, просто за разные годы. Взял, переписал точно, что там написано, и задал вопрос, как сделать это. И код свой приложил, хотя он нам не нужен для решения. Мы просто по твоему коду смотрим, есть ли у тебя мозги хоть какие-то, чтобы решить задачу самому и нужно ли тебе чуть-чуть помочь в этом, определив твои ошибки, или вообще ты хочешь, чтобы мы за тебя всё сделали от начала до конца, на что 90% участников посмотрит косо.

Что касается учителей иноформатики, мало кто из них хоть одну программу написал. Когда ты видишь, что он десятый раз делает одно и то же и ты ему говоришь “напиши себе программу, которая это сделает автоматически”, он на тебя смотрит круглыми глазами с вопросом “а что так можно? программы писать? я думал(а), только детей можно учить”.

Так что школьную всю эту тему отбрасывай. Делай всё точно и ясно, начиная с постановки задачи.



Отредактировано py.user.next (Июль 14, 2020 01:39:09)

Офлайн

#7 Июль 14, 2020 14:25:00

cudaplic
Зарегистрирован: 2020-07-12
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с индексами в списках

marvellik
так?
Большое спасибо, то что нужно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version