-4

私が設定した質問は次のとおりです。
「テキストのブロックをエンコードする場合、先行ゼロの問題を回避するために、数値よりも文字列を処理する方が簡単です。
したがって、code_digit(n, key)数値の代わりに文字を処理するような関数が必要になります。そのために、パラメータが文字であり、どちらも整数ではなく「0」から「9」の範囲にあると想定され、文字を返すことを除いて、 次のよう
に機能する関数を作成します。code_char(char, key)code_digit(n, key)

たとえば

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

コードで2つのことを間違っています:

  • 結果を返すのではなく、結果を出力しています。また、印刷する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)
于 2013-03-09T16:46:28.800 に答える