AmF
Сен. 18, 2010 22:13:14
Всем привет!
Прошу помочь разобраться, как решить задачу (хочу понять алгоритм решения): в каком-то языке есть только 4 звука, назовем их А, В, C, D, а алфавит этого языка состоит из 10 букв: E, F, G, H, I, J, K, L, M, N. Система такая: каждым 3 звукам соответствует 1 буква согласно правилам. Вот эти правила: ABC -> G, ACD -> M, CAD -> J, CDA -> M, CCC -> A и т.д. (все правила не привожу - хочу просто общую схему алгоритма понять). Надо бы написать функцию, которая принимает строку звуков (3 символа), а возвращает букву (строка в 1 символ). Важное замечание: if, else использовать запрещается.
Спасибо за любую помощь.
Cleric
Сен. 18, 2010 22:50:21
Насколько я понял задачу. Тебе нужно завести словарь (dict) соответствий, ключами к которому будут звуки а значениями буквы.
AmF
Сен. 19, 2010 08:46:37
Ну, можно и словарь, но только как потом организовать поиск без иф-элс?
AmF
Сен. 19, 2010 09:14:35
У меня такая ситуация, что несколько комбинаций звуков может обозначать 1 букву, например: ATT -> I, ATC -> I, ATA -> I. Т.к. питон мы только начали проходить, то мне не совсем понятно, как тогда оформить поиск. Вот что получится:
d = {'I': ['ATT', 'ATC' , 'ATA'], и т.д.}
Как здесь тогда действовать?
Спасибо!
sp3
Сен. 19, 2010 09:35:51
d = {'ABC':'G', ‘ACD’ :'M', ‘CAD’ : ‘J’, ‘CDA’ : ‘M’, ‘CCC’: ‘A’, ‘ATT’ : ‘I’, ‘ATC’ : ‘I’, ‘ATA’ :'I'}
и тот же самый код
AmF
Сен. 19, 2010 09:40:08
А, ага, спасибо - буду пробовать.