Форум сайта python.su
хм,только есть одно но. При f(3) ключ-значение равны
"A" : "X"
Офлайн
то есть и для заглавной буквы при смещении оно должно учитывать ‘ " ’ этот элемент.
Отредактировано alex28746 (Май 4, 2015 18:46:26)
Офлайн
alex28746Поправил там.
то есть и для заглавной буквы при смещении оно должно учитывать
Отредактировано py.user.next (Май 4, 2015 23:57:27)
Офлайн
вот у нас весь то и прикол, в том, что эта кавычка должна быть только в малых буквах, в большой ее не должно быть…
Офлайн
пардон, спасибо нашим преподам за неправильные обьяснения.
Офлайн
Благодарю за помощь!)
Офлайн
py.user.nextи опять возвращаясь к этому заданию, вот смотри получается если кавычки поставить и в малых и в заглавных буквах, тогда при ситуации смещения букв назад может получиться два одинаковых ключа, и один из них тупо исчезает. или например
def f(n): ... alpha = {} ... lower = 'abcdefghijklmnopqrstuvwxyz' ... upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ... ll = len(lower) ... for i, c in enumerate(lower): ... alpha[c] = lower[(i + n) % ll] ... lu = len(upper) ... for i, c in enumerate(upper): ... alpha[c] = upper[(i + n) % lu] ... return alpha ...
' " ' : 'a' и ' " ' : 'A'
Отредактировано alex28746 (Май 5, 2015 21:46:44)
Офлайн
короче говоря все что нам пояснили так это то, что функция
def dekoder(n): ... alpha = {} ... lower = '"abcdefghijklmnopqrstuvwxyz' ... upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ... ll = len(lower) ... for i, c in enumerate(lower): ... alpha[c] = lower[(i + ll - n) % ll] ... lu = len(upper) ... for i, c in enumerate(upper): ... alpha[c] = upper[(i + lu - n) % lu] ... return alpha
print dekoder(3)
{' ': 'x', 'A': 'Y', 'C': ' ', 'B': 'Z', 'E': 'B', 'D': 'A', 'G': 'D', 'F': 'C', 'I': 'F', 'H': 'E', 'K': 'H', 'J': 'G', 'M': 'J', 'L': 'I', 'O': 'L', 'N': 'K', 'Q': 'N', 'P': 'M', 'S': 'P', 'R': 'O', 'U': 'R', 'T': 'Q', 'W': 'T', 'V': 'S', 'Y': 'V', 'X': 'U', 'Z': 'W', 'a': 'y', 'c': ' ', 'b': 'z', 'e': 'b', 'd': 'a', 'g': 'd', 'f': 'c', 'i': 'f', 'h': 'e', 'k': 'h', 'j': 'g', 'm': 'j', 'l': 'i', 'o': 'l', 'n': 'k', 'q': 'n', 'p': 'm', 's': 'p', 'r': 'o', 'u': 'r', 't': 'q', 'w': 't', 'v': 's', 'y': 'v', 'x': 'u', 'z': 'w'}
Офлайн
alex28746При f(0) он вообще не должен сдвигать. Должно быть ‘a’ -> ‘a’ .
при вызове def(0) в теории должно получится
alex28746Второй код делает то же самое, только кавычку отображает не на строчную букву, а на заглавную.
должна вернуть именно такой словарь
Отредактировано py.user.next (Май 6, 2015 00:10:07)
Офлайн