Python使用字符串编码文本块

时间:2013-03-09 16:25:26

标签: python encryption encoding

我设定的问题是:
“对于文本块的编码,使用字符串比使用数字更容易,以避免前导零问题 因此,我们需要一个像code_digit(n, key)这样的函数来处理字符而不是数字 为此,编写一个与code_char(char, key)类似的函数code_digit(n, key),除了它的参数是字符,假设它们都在'0'到'9'的范围内,而不是整数,它返回一个字符。

所以例如

>>> code_char('1', '2')    
'3'

我的代码

def code_char(char, key):
    ichar = int(char)
    ikey = int(key)
    print(ichar+ikey)

这是我得到的最远但引号不存在。

>>> code_char('1', '2')
3

任何帮助将不胜感激! code_digit功能如下:

def code_digit(n, key):
    result = n + key
    mod = result%10
    print (mod)

1 个答案:

答案 0 :(得分:0)

你的代码错误地做了两件事:

  • 您正在打印结果而不是返回结果。此外,打印chrstr时不会在其周围添加引号。
  • 您永远不会将结果转换回chrstr

所以,你的代码应该是这样的:

def code_char(char, key):
    ichar = int(char)
    ikey = int(key)
    return str(ichar+ikey)

def code_char(char, key):
    ichar = int(char)
    ikey = int(key)
    return chr(ord('0') + ichar+ikey)