Пора посмотреть, что за строки
x и y были в https://t.me/gepardchan/78.Воспользуемся буквами турецкого алфавита.
1)
>>> x = 'i'
>>> y = 'ı'
Легко видеть, что вызов .upper() приводит оба символа к 'I', после чего они неожиданным образом оказываются равны.2)
>>> x = 'İ'
>>> y = 'I'
Здесь все чуть интереснее. .lower() на 'I' ожидаемо приводит к 'i', а вот применение .lower() на 'İ' почему-то дает два символа: сначала 'i', а затем ' ' (т.е. точку как диакритический знак). Получается 'i', что неотличимо от обычного 'i', но по факту у нас две точки, слившиеся в одну.А вообще, алгоритмы Юникода здесь не очень совместимы с турецким языком, потому что для
ı заглавная — это I, а для i заглавная — İ. А применение обычных .lower() и .upper() приводит к другим результатам