文字a−z、A−Zは、1〜26に符号化することができる.「A」->「1」、「a」->「1」、「B」->「2」、「b」->「2」、「Z」->「26」、「z」->「26」数字のシーケンスを入力し、どのように計算しますか


Python実現
'''
  a-z, A-Z     1-26。"A"->"1", "a"->"1", "B"->"2", "b"->"2", "Z"->"26", "z"->"26"
          ,               a-zA-Z     。
  :
  :19
  :6 
(ai, Ai, aI, AI, s, S)
  :268
  :12
  :219
  :16
'''

def how_many_ways(digitarray):
    # implement here
    digitarray=str(digitarray)
    dp_list = [0] * (len(digitarray) + 1)
    dp_list[0] = 1
    for i in range(1, len(dp_list)):
        if digitarray[i - 1] != '0':
            dp_list[i] = dp_list[i - 1]*2
        if i != 1 and '09' < digitarray[i - 2:i] < '27':
            dp_list[i] += dp_list[i - 2]*2
        print(dp_list)
    print(dp_list[-1])
how_many_ways(219)   #   16