Для определения раскладки текста (русская или английская) на Python без использования сторонних сервисов можно воспользоваться простым алгоритмом: проверить, какие символы текста встречаются чаще, и на основе этого определить вероятную раскладку.
Вот пример функции, которая реализует этот подход:
```python
def detect_layout(text):
# Определяем символы для каждой раскладки
ru_chars = "абвгдежзийклмнопрстуфхцчшщъыьэюя"
en_chars = "abcdefghijklmnopqrstuvwxyz"
# Счетчики для русских и английских букв
ru_count = 0
en_count = 0
# Проходим по каждому символу в тексте
for char in text.lower():
if char in ru_chars:
ru_count += 1
elif char in en_chars:
en_count += 1
# Определяем раскладку на основе частоты символов
if ru_count > en_count:
return "RU"
elif en_count > ru_count:
return "EN"
else:
return "UNKNOWN"
# Примеры использования
text1 = "htitybt" # Это английские символы, но слово на русском
text2 = "фсешмшен" # Это русские символы, но слово на английском
print(detect_layout(text1)) # Вывод: EN
print(detect_layout(text2)) # Вывод: RU
```
### Объяснение:
- Функция `detect_layout` принимает строку `text` и определяет, какие буквы в ней встречаются больше – русские или английские.
- Считаются количество букв для каждой раскладки.
- Если больше русских букв, возвращается "RU", если больше английских – "EN". В случае равенства возвращается "UNKNOWN".
Этот код прост и не требует сторонних библиотек или сервисов, что соответствует вашим требованиям.