Форум сайта python.su
Здравствуйте. Учу phyton 2 день.
Есть большая трудность. Решаю простейшие задачи, среди них наткнулся на вот такую:
Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.
С нее начались проблемы. до этого все казалось элементарным.
Попытался выполнить код из вложенной картинки. Естественно, выдал ошибку.
Поиск в интернете о функции XOR не дал результата (с самой функцией все ясно - но только на примерах целых чисел)
Я понимаю, что мне не хватает обычной теории, как все устроено.
Помогите, пожалуйста, дайте ссылку на теорию, как все устроено, чтобы я понимал суть двоичного когда и кодирования символов в нем, а также суть работы XOR с текстом, строками, кортежами…
Возможно, вопрос некорректен, но, думаю, шарящие люди поймут суть моей проблемы (образование авиационное - инженер, с информатикой - по школьным вершкам, но ОЧЕНЬ ХОЧУ ПЕРЕПРОФИЛИРОВАТЬСЯ)
Прикреплённый файлы:
Без имени.png (245,0 KБ)
Офлайн
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)
Офлайн
Я это понимаю, и в первом сообщении написал, что тупо нет базы. Поэтому и прошу - может кто-то подскажет учебник путевый или ресурс, чтобы эту базу освоить. Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот, а такой, в котором доступно описаны необходимые основы.
Офлайн
Alexey_mne31Так ты бери эти двадцать, читай их, а потом бери этот первый и тогда ты с него получишь что-то. Понимаешь, в чём прикол? Это не в атоме нет энергии, это мы её добыть оттуда не можем.
Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот
Офлайн
Alexey_mne31Начни с понятия,как вообще компьютер хранит информацию,т.е. постарайся понять что за магия там внутри происходит
Решаю простейшие задачи, среди них наткнулся на вот такую:
Онлайн
py.user.nextкхм кхм .. то раньше было у дидов
ставит тебе оценки просто так, потому что сама ничего не знает, и ты как бы вот так информатику узнаёшь и сдаёшь её в итоге
Офлайн