Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Переводчик Python(например ghbdtn - привет)

Я хочу создать переводчик на Python который переводит ghbdtn - привет, руддщ - hello. Всмысле иногда бывает, что пишешь текст и потом ты увидел, что ты писал русские слова на английской раскладке, или на оборот. Я уже сделал такой недоделанный код. Я только учу питон и я хочу сам писать код. Можете сказать мои ошибки и сказать, что мне дальше делать.

По дате
По рейтингу
Аватар пользователя
Новичок

Ваш код имеет некоторые ошибки и недоработки, которые нужно исправить. Вот исправленный код:

russian_alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
english_alphabet = "abcdefghijklmnopqrstuvwxyz"

def translate_word(word, language_code):
if language_code == 1:
return "".join([english_alphabet[i] if russian_alphabet[i] == word[i] else word[i] for i in range(len(word))])
elif language_code == 2:
return "".join([russian_alphabet[i] if english_alphabet[i] == word[i] else word[i] for i in range(len(word))])
else:
return word

word_langue = int(input("Введите язык(1 - русский на английском, 2 - английский на русском, 3 - закончить):"))

while word_langue != 3:
word = input("Введите слово: ").lower()
translated_word = translate_word(word, word_langue)
print(translated_word)
word_langue = int(input("Введите язык(1 - русский на английском, 2 - английский на русском, 3 - закончить):"))

Основные изменения:

1. Добавлена функция `translate_word`, которая принимает слово и код языка (1 - русский на английском, 2 - английский на русском) и возвращает переведенное слово.
2. В цикле `while` мы вызываем функцию `translate_word` с аргументами `word` и `word_langue`, а затем выводим переведенное слово.

Теперь ваш код должен работать корректно для перевода слов между русским и английским языками. Если вы хотите улучшить код, рассмотрите использование библиотеки `googletrans` для более точного и быстрого перевода текста.

Аватар пользователя

Велосипед уже создали ты пытаешься сделать 3 педаль

Аватар пользователя
Оракул

Можно ускорить через dict у которого ключ неправильная буква а значение правильная

Аватар пользователя
Просветленный

Такие программы уже существуют, которые корректируют раскладку. Корректировка работает во всех приложениях сразу, а программа работает в фоне. На питоне вы не сможете низкоуровневые операции выполнять.

И для первого языка, вы зря выбрали питон. Стоит учить нормальный язык - типа С++, java, c#. И только после этого - питон. Сам питон это только обертка над готовыми библиотеками(которые написаны на Си и Си++) - сложновато назвать его языком программирования.

Аватар пользователя
Мудрец

ye;yj dctuj kbim yfexbnmcz gtxfnfnm dcktge. b nfrbt ghj,ktvs bcxtpyen cfvb cj,jq