当提供text
作为输入字符串,rule
作为输入整数时,挑战是查找ASCII值sum,然后根据新数值转换回字符串。
我的代码显示在正确的轨道上,但是例如ascii_encrypt("a",1)
,我的当前输出为b'b'
时应为'b'
。我是编码功能的新手,我猜测它正在绊倒我。
def ascii_encrypt(text, rule):
text = sum([ord(c) for c in text])
if not text:
return ""
else:
encrypted_text = chr(text + rule)
return encrypted_text.encode('utf-8')
答案 0 :(得分:2)
只需删除.encode('utf-8')
即可。您不需要对其进行编码,这会导致您的问题。您不能包含此部件并实现所需的功能。
def ascii_encrypt(text, rule):
text = sum([ord(c) for c in text])
if not text:
return ""
else:
encrypted_text = chr(text + rule)
return encrypted_text
print(ascii_encrypt("a",1))