0

Как сравнивать строки в Phyton?

Один хороший человек в комментарии к заданию "hey<hay; boolean - ?" Показал что если использовать метод chr (), мы видим в данном коде какому символу какое число присвоенно. Что это? Зачем это? Почему так? Для чего вообще? Осталось загадкой 😩. На помощь позвала google и нашла статью, которая хоть немного объяснила, что это за зверь такой и какие значения у русского алфавита. Если кто хочет, можете пользоваться для написания статьи, последующее поколение будет Вам благодарно😉 https://www.programiz.com/JUMP_LINK__&&__python__&&__JUMP_LINK-programming/methods/built-in/chr https://code.sololearn.com/ca5ZSSUs3Bf3/?ref=app Скажу лишь вкратце, что каждый символ имеет своё число. Поэтому когда у нас стоит задача сравнить буквы а и Б, мы смотрим не на то, на каком месте они стоят в русском алфавите, а на то, какое число присвоено этим буквам. Обычно схема такая "поярдковое число а"+1= "Порядковое число б"; б+1 = в и т. Д. https://code.sololearn.com/ca5ZSSUs3Bf3/?ref=app

2nd Dec 2022, 7:39 PM
Карина Карпович
Карина Карпович - avatar
7 Réponses
+ 2
Если вас интересует практическое применение функции chr ( ), то первое что приходит мне на ум так это шифрование: https://code.sololearn.com/ctZ8PeXzMZKH/?ref=app Заглянув в комментарии этого кода вы увидите как пытались другие пользователи решить данную проблему... Так-же на ряду с функцией chr ( ) используют обратную функцию ord ( ) для получения порядкового номера, например русский алфавит начинается с 1040 ord('А').
3rd Dec 2022, 4:12 AM
Solo
Solo - avatar
+ 2
Код демонстрирует простейшую шифровку текста на английском языке заменяя буквы начала алфавита на противоположные, как вы уже успели заметить a => z, а соответственно z => a, и т. д. Введите любой текст и получите абракадабру... ☺️
3rd Dec 2022, 9:07 AM
Solo
Solo - avatar
+ 2
И да, вы верно поняли сравнительный анализ строк, ведь нельзя получить сумму сложив два символа так как оператор "+" является в данном случае оператором конкатенации, а не оператором сложения.
3rd Dec 2022, 9:14 AM
Solo
Solo - avatar
+ 1
Ну комментарии к заданиям мне точно помогли. Теперь я знаю что когда идёт сравнение "a"+"b"> "z", я понимаю почему false. Я то думала, что нужно сложить порядковый номер символа "а", с порядковым номером символом "b" И сумму сравнить с порядковым номером символа "z" 😆😂. Правда я пока не нашла статью, где расписывается, что сравнение строк идёт посимвольно. Пример: able>abk => true Т. К. a=a, b=b, l>k это true, сравнение далее (е и пустой строки) не идёт. Но спасибо нашему сообществу за разъяснения дыр в материале.)
3rd Dec 2022, 6:10 AM
Карина Карпович
Карина Карпович - avatar
+ 1
Кстати очень легко провести аналогию сравнения строк с сравнением вещественных чисел: 0.9 > 0.89, каждый символ в строке это цифра после запятой. ☺️
3rd Dec 2022, 9:44 AM
Solo
Solo - avatar
+ 1
Согласна)
3rd Dec 2022, 8:55 PM
Карина Карпович
Карина Карпович - avatar
0
Непонятно... А что делает код. Ввожу символ "a" Выдаёт символ "z"... Зачем, почему, непонятно
3rd Dec 2022, 6:02 AM
Карина Карпович
Карина Карпович - avatar