Python练习题——字符翻译

#
# 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。
#
# 示例 1:
# 输入: 12258
# 输出: 5
# 解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"
# [1 2 3 5 5]
# 122 5
# 12 25
# 1225 8
# 122 58
def func(n):
    n=str(n)
    tmp=1
    num=1
    for i in range(len(n)-1):
        if n[i]+n[i+1]>='10' and n[i]+n[i+1]<='25':
            num,tmp=num+tmp,num#理解算法思路后得到
        else:
            tmp=num
    return num
n=12258
print(func(n))

你可能感兴趣的:(Python入门学习笔记)