Advertisement
GuttenberG

task3_2

Dec 10th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.27 KB | None | 0 0
  1. RusAlph = ("А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф"
  2.                                                                                                                     "Х",
  3.            "Ш", "Щ", "Ч", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")
  4. EnAlph = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
  5.           'W', 'X', 'Y', 'Z')
  6. EnRusDict = {'hello': 'привет', 'world': 'мир'}
  7. RusEnDict = {'привет': 'hello', 'мир': 'world'}
  8. UserMessage = '0'
  9.  
  10.  
  11. def LangCheck(string):
  12.     EnLetterAmount, RusLetterAmount = 0, 0
  13.     string = string.upper()
  14.     for i in range(len(string)):
  15.         if string[i] in EnAlph:
  16.             EnLetterAmount += 1
  17.         elif string[i] in RusAlph:
  18.             RusLetterAmount += 1
  19.         else:
  20.             pass
  21.     if EnLetterAmount == 0 and RusLetterAmount > 0:
  22.         return 'Rus'
  23.     elif EnLetterAmount > 0 and RusLetterAmount == 0:
  24.         return 'Eng'
  25.     else:
  26.         return 'Error'
  27.  
  28.  
  29. def AdditionWord(string):
  30.     WordtoAdd = input('Слово \'{}\' не определено, введите перевод, для пропуска нажмите \'Enter\' - '.format(string))
  31.     while LangCheck(WordtoAdd) == LangCheck(string):
  32.         WordtoAdd = input('Слово \'{}\' не определено, введите перевод, для пропуска нажмите \'Enter\' - '.format(string))
  33.         if LangCheck(WordtoAdd) == LangCheck(string):
  34.             print('Ошибка языка перевода')
  35.     if WordtoAdd != '':
  36.         WordtoAdd = WordtoAdd.lower()
  37.         if LangCheck(string) == 'Eng':
  38.             EnRusDict[string] = WordtoAdd
  39.             RusEnDict[WordtoAdd] = string
  40.         elif LangCheck(string) == 'Rus':
  41.             RusEnDict[string] = WordtoAdd
  42.             EnRusDict[WordtoAdd] = string
  43.     return WordtoAdd
  44.  
  45.  
  46. def TraslaterWord(string):
  47.     if LangCheck(string) == 'Eng':
  48.         if string in EnRusDict:
  49.             return EnRusDict.get(string)
  50.         else:
  51.             return AdditionWord(string)
  52.     elif LangCheck(string) == 'Rus':
  53.         if string in RusEnDict:
  54.             return RusEnDict.get(string)
  55.         else:
  56.             return AdditionWord(string)
  57.     else:
  58.         pass
  59.  
  60.  
  61. def Translater(string):
  62.     string = string.lower()
  63.     TranslatedMessage = ''
  64.     UserMessageWordList = string.split()
  65.     for i in range(len(UserMessageWordList)):
  66.         Word = TraslaterWord(UserMessageWordList[i])
  67.         TranslatedMessage = TranslatedMessage + str(Word) + ' '
  68.         TranslatedMessage = TranslatedMessage.capitalize()
  69.     return TranslatedMessage
  70.  
  71.  
  72. while UserMessage != '':
  73.     print('Чтобы посмотреть список слов напишите /wordlist')
  74.     UserMessage = input('Введите строку для перевода, для выхода нажмите \'Enter\' - ')
  75.     if UserMessage == '/wordlist':
  76.         print(EnRusDict)
  77.     else:
  78.         if LangCheck(UserMessage) != 'Error':
  79.             print('Язык вашего сообщения - {}'.format(LangCheck(UserMessage)))
  80.             print(Translater(UserMessage))
  81.         else:
  82.             print('Ошибка ввода')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement