Форум сайта python.su
Есть проблема. У меня в скрипте лежит словарь, у которого все ключи - это русские буквы, а все значения этих ключей - их перевод на азбуку морзе. Мне нужно чтобы я мог брать не только значения с помощью ключей, но и ключи с помощью значений. Например:
dicr = dict(a="-**-", b = "**-", c="-*", d="**-**") # Перевод не верен, но не суть text = "-**- **-" result = "" for c in range(0, len(text)): if text[c] == " ": result += " probel " else: result += # И вот как-раз здесь мне и нужно перевести буквы в морзе
Отредактировано python335 (Март 14, 2017 19:55:22)
Офлайн
так создай два словаря
>> d = dict(a=1,b=2,c=3) >>> d {'a': 1, 'c': 3, 'b': 2} >>> d1 = {} >>> for i in d: d1[d[i]] = i >>> d {'a': 1, 'c': 3, 'b': 2} >>> d1 {1: 'a', 2: 'b', 3: 'c'} >>>
text = "-**- **-" l = text.split(' ') for i in l: if i in d1: print d1[i]
Офлайн
letters_to_morse = dict(a="-**-", b = "**-", c="-*", d="**-**") morse_to_letters = {v: k for k, v in letters_to_morse.items()} def translate_to_text(morse_code): return ' '.join(morse_to_letters[symbol] for symbol in morse_code.split()) def translate_to_morse(text): return ' '.join(letters_to_morse[letter] for letter in text)
Офлайн
Спасибо
Офлайн