diff --git a/modules/45-logic/15-bool-strings/ru/README.md b/modules/45-logic/15-bool-strings/ru/README.md index 778b6686..133b62fa 100644 --- a/modules/45-logic/15-bool-strings/ru/README.md +++ b/modules/45-logic/15-bool-strings/ru/README.md @@ -1,4 +1,4 @@ -Операции сравнения работают не только с числами, но и со строками. В этом случае сравнение идёт по алфавитному порядку символов. +Операции сравнения работают не только с числами, но и со строками. В Python строки сравниваются лексикографически: посимвольно слева направо по числовым кодам символов (Unicode). Для латинских букв эти коды совпадают с ASCII. ```python print("apple" < "banana") # => True @@ -7,7 +7,20 @@ print("abc" == "abc") # => True print("hello" != "world") # => True ``` -Здесь `"apple" < "banana"`, потому что буква `"a"` в слове *apple* идёт раньше буквы `"b"` в слове *banana*. +Здесь `"apple" < "banana"`, потому что код `a` (97) меньше кода `b` (98) — первый символ решает исход сравнения. Код символа можно посмотреть так: `ord('a')` → `97`. + +```python +print(ord("a")) # => 97 +print(ord("b")) # => 98 +``` + +Сравнение чувствительно к регистру — `'Z'` (90) < `'a'` (97). Пример сравнения, где первые буквы разного регистра: + +```python +print("Zebra" < "apple") # True — 'Z'(90) < 'a'(97) +print("apple" < "Banana") # False — 'a'(97) > 'B'(66) +print("Apple" < "apple") # False — 'A'(65) < 'a'(97) +``` Напишем функцию, которая проверяет, начинается ли слово с заданной буквы. Для этого возьмём первый символ строки и сравним его с нужной буквой.