Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2021 17:59:09

Alexey_mne31
Зарегистрирован: 2021-08-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

XOR и вообще битовые операции

Здравствуйте. Учу phyton 2 день.
Есть большая трудность. Решаю простейшие задачи, среди них наткнулся на вот такую:

Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.

С нее начались проблемы. до этого все казалось элементарным.
Попытался выполнить код из вложенной картинки. Естественно, выдал ошибку.
Поиск в интернете о функции XOR не дал результата (с самой функцией все ясно - но только на примерах целых чисел)
Я понимаю, что мне не хватает обычной теории, как все устроено.
Помогите, пожалуйста, дайте ссылку на теорию, как все устроено, чтобы я понимал суть двоичного когда и кодирования символов в нем, а также суть работы XOR с текстом, строками, кортежами…

Возможно, вопрос некорректен, но, думаю, шарящие люди поймут суть моей проблемы (образование авиационное - инженер, с информатикой - по школьным вершкам, но ОЧЕНЬ ХОЧУ ПЕРЕПРОФИЛИРОВАТЬСЯ)

Прикреплённый файлы:
attachment Без имени.png (245,0 KБ)

Офлайн

#2 Авг. 11, 2021 00:08:05

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

XOR и вообще битовые операции

Alexey_mne31
С нее начались проблемы. до этого все казалось элементарным.
Попытался выполнить код из вложенной картинки. Естественно, выдал ошибку.
Надо сначала символы перевести в числа, потом над числами провести операцию xor, а потом результат операции снова в символ перевести.

Например
  
>>> ch1 = 'a'
>>> ch2 = 'b'
>>> ch3 = ''
>>> 
>>> ch3 = chr(ord(ch1) ^ ord(ch2))
>>> ch3
'\x03'
>>>

Alexey_mne31
Возможно, вопрос некорректен, но, думаю, шарящие люди поймут суть моей проблемы (образование авиационное - инженер, с информатикой - по школьным вершкам, но ОЧЕНЬ ХОЧУ ПЕРЕПРОФИЛИРОВАТЬСЯ)
Чтобы перепрофилироваться, школьного уровня будет маловато. А у тебя даже школьного уровня нет. Я имею в виду не ту школьную информатику, когда ты ходишь на информатику, а училка ставит тебе оценки просто так, потому что сама ничего не знает, и ты как бы вот так информатику узнаёшь и сдаёшь её в итоге. Я имею в виду ту информатику, которая действительно преподаётся в школе, когда её преподаёт тот, кто учился на эту специальность, - учитель информатики. У нас часто бывает так просто, что в школах информатику преподают учителя математики или учителя физики, которые сами не знают, с какой стороны компьютер включается. Операция XOR - это школьный уровень. Выйдя из школы (окончив школу), ты уже должен знать, что это такое. Понимаешь, в чём прикол? Вот такое у тебя образование.

Alexey_mne31
образование авиационное
А там тебя школьной информатике не учат. Зачем? Ты же школу окончил, где всё это узнал якобы. Вот поэтому ты инженер, который не знает, что такое XOR.



Отредактировано py.user.next (Авг. 11, 2021 00:11:19)

Офлайн

#3 Авг. 11, 2021 02:51:04

Alexey_mne31
Зарегистрирован: 2021-08-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

XOR и вообще битовые операции

Я это понимаю, и в первом сообщении написал, что тупо нет базы. Поэтому и прошу - может кто-то подскажет учебник путевый или ресурс, чтобы эту базу освоить. Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот, а такой, в котором доступно описаны необходимые основы.

Офлайн

#4 Авг. 11, 2021 06:54:19

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

XOR и вообще битовые операции

Alexey_mne31
Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот
Так ты бери эти двадцать, читай их, а потом бери этот первый и тогда ты с него получишь что-то. Понимаешь, в чём прикол? Это не в атоме нет энергии, это мы её добыть оттуда не можем.

Возьми Лутца и читай его книжку по питону. На ней либо питон нарисован, либо крыса нарисована. Не факт, что там есть операция XOR, но я думаю, что про операцию XOR классические материалы тебе будет о-о-очень скучно читать. Ты просто не вывезешь. А потом уже, когда втянешься, когда тебе интересно будет всем этим заниматься, тогда ты сможешь и книжку по таким вещам взять. Потому что без мотивации ты и трёх страниц не протянешь. Там просто вещей побольше всяких, чем просто XOR и прочие мелочи. XOR - это ерунда ещё.



Офлайн

#5 Авг. 11, 2021 10:13:40

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1355
Репутация: +  119  -
Профиль   Отправить e-mail  

XOR и вообще битовые операции

Alexey_mne31
Решаю простейшие задачи, среди них наткнулся на вот такую:
Начни с понятия,как вообще компьютер хранит информацию,т.е. постарайся понять что за магия там внутри происходит

Онлайн

#6 Авг. 11, 2021 15:56:30

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

XOR и вообще битовые операции

py.user.next
ставит тебе оценки просто так, потому что сама ничего не знает, и ты как бы вот так информатику узнаёшь и сдаёшь её в итоге
кхм кхм .. то раньше было у дидов
сча
егэ огэ
ты либа сдаешь
либо проходишь … мима
ось такі справи



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version