-4

我提出的问题是:
“对于文本块的编码,使用字符串比使用数字更容易,以避免前导零出现问题。
因此,我们需要一个这样的函数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)
4

1 回答 1

0

您在代码上做错了两件事:

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

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

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)
于 2013-03-09T16:46:28.800 回答