2013-03-09 2 views
-4

вопрос я выставлено:.
«для кодирования блоков текста, легче работать со строками, чем чисел, для того, чтобы избежать проблем с ведущими нулями
Таким образом, нам понадобится такая функция, как code_digit(n, key), которая работает с символами вместо цифр.
С этой целью напишите функцию code_char(char, key), которая работает как code_digit(n, key), за исключением того, что ее параметры являются символами, оба из которых считаются находящимися в диапазоне '0 'to' 9 ', а не целые числа, и он возвращает символ.кодирования Python блоков текста с использованием строк

Так, например

>>> 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) 

ответ

0

Вы делаете две вещи неправильно в вашем коде:

  • Вы печатая результат вместо того, чтобы вернуть его. Кроме того, печать chr или str не добавляет к ней кавычки.
  • Вы никогда не преобразовываете результат обратно в chr или 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) 
Смежные вопросы