Есть ли способ использовать словари в Python для ввода строки и вывода другой строки с помощью ключей? - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь написать программу, которая берет строку букв и переводит их в последовательность Брайля, где 1 - рельефный выпуклый, а 0 - плоский сервис. сейчас я создал словарь, в котором все буквы алфавита переведены в букву Брайля.

myDict = {'a' : '100000','b': '110000','c': '100100','d': '100110','e': '100010','f': '110100','g': '110110','h':'110010','i': '010100','j':'010110','k': '101000','l': '111000','m':'101100','n': '101110','o': '101010','p': '111100','q': '111110','r': '111010','s':'011100', 't': '011110','u': '101001','v': '111001','w': '010111','x': '101101','y': '101111','z': '101011'}

Теперь я хочу посмотреть, есть ли способ, которым я мог бы ввести имя, например «Стив», и вывести его на соответствующий аналог Брайля, который будет 011100011110100010111001100010

Редактировать: это то, что у меня сейчас.

myDict = {'a' : '100000','b': '110000','c': '100100','d': '100110','e': '100010','f': '110100','g': '110110','h':'110010','i': '010100','j':'010110','k': '101000','l': '111000','m':'101100','n': '101110','o': '101010','p': '111100','q': '111110','r': '111010','s':'011100', 't': '011110','u': '101001','v': '111001','w': '010111','x': '101101','y': '101111','z': '101011'}
def braille(string, myDict):
    a = ''
    for char in string:
        a.join(myDict[char])
        return a
char = str(input())
braille(char, myDict)

Я понимаю, что происходит, я просто не знаю, что мне нужно указать в моих параметрах, когда я это называю. Кроме того, кажется, что когда я запускаю его, он ничего не возвращает

1 Ответ

0 голосов
/ 17 мая 2018

Ниже приведена краткая функция с использованием метода соединения, предложенного @Patrick Haugh

def braille(string, brailleDict):
    return ''.join(brailleDict[char] for char in string)

Использование:

print braille('abcdefg', myDict)

Где myDict - это выделенный вами словарь Брайля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...