【发布时间】:2017-03-12 10:50:43
【问题描述】:
我有这个函数可以通过给定的键解码一个字母
def decode_char(n, key):
adj = ord('a') if n.islower() else ord('A')
return chr(adj + (ord(n)-adj-int(key))%26)
我正在尝试让它工作,所以一个单词被解码
def decode_block(word,key):
letters = list(word)
keys = list(key)
decoded = []
for letter, digit in zip(letters, keys):
decoded.append(decode_char(letter, digit))
return "".join(decoded)
当我输入这个时
print(decode_char('bddffhhj', '12121212'))
我收到此错误消息
TypeError: ord() expected a character, but string of length 8 found
我需要得到
abcdefgh
我不明白为什么decode_char 中的ord(n) 没有收到字符?
我已将单词拆分为列表?并将这些压缩到密钥的数字?
只是一个学生,所以请不要去火腿
有人吗?
【问题讨论】:
-
“它不起作用”到底是什么意思?代码的预期输出和描述在这里会有很大帮助。编辑:并避免在以后的问题中说“它不起作用”;)
-
@GerryHernandez 以上编辑
-
如果您正在寻找:Caesar Cipher
-
@Bhansa 这是我的一项任务,所有内容都必须从头开始,不允许使用某些功能,例如密码等。
-
抱歉,但您需要了解如何使用 code_block 和键一起工作。尝试不同的场景,使用示例。
标签: python python-3.x encryption ascii