【发布时间】:2015-06-09 17:38:59
【问题描述】:
def apply_coder(text, coder):
"""
Applies the coder to the text. Returns the encoded text.
text: string
coder: dict with mappings of characters to shifted characters
returns: text after mapping coder chars to original text
"""
coder_dict = coder
text_list = list(text)
for letter in text_list:
if letter in coder_dict:
letter = coder_dict[letter]
print letter
return ''.join(text_list)
示例: apply_coder("Hello, world!", build_encoder(3)) 应该返回
'Khoor,czruog!'
相反,它返回
“你好,世界!”
但是,如果我在 if 条件下使用 print letter 语句,它会打印出正确的字母。
【问题讨论】:
-
您将
print语句(打印编码字母)与return语句(返回原始输入)混合在一起。您需要根据编码字母构建一个新列表。 -
你应该在课程 mitx 论坛上提问
标签: python list python-2.7 dictionary